diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/firmware.scm | 3 | ||||
-rw-r--r-- | gnu/packages/patches/ath9k-htc-firmware-gcc-compat.patch | 29 |
3 files changed, 32 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 4d9afd5354..cd76ba88cf 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -818,6 +818,7 @@ dist_patch_DATA = \ %D%/packages/patches/aspell-default-dict-dir.patch \ %D%/packages/patches/ath9k-htc-firmware-binutils.patch \ %D%/packages/patches/ath9k-htc-firmware-gcc.patch \ + %D%/packages/patches/ath9k-htc-firmware-gcc-compat.patch \ %D%/packages/patches/ath9k-htc-firmware-objcopy.patch \ %D%/packages/patches/audacity-build-with-system-portaudio.patch \ %D%/packages/patches/audacity-add-include.patch \ diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index c9a68f5a93..ebcb89923c 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -56,7 +56,8 @@ (base32 "16jbj8avg5jkgvq5lxm0hdxxn4c3zn7fx8b4nxllvr024apk9w23")) (file-name (git-file-name name version)) - (patches (search-patches "ath9k-htc-firmware-objcopy.patch")))) + (patches (search-patches "ath9k-htc-firmware-objcopy.patch" + "ath9k-htc-firmware-gcc-compat.patch")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/patches/ath9k-htc-firmware-gcc-compat.patch b/gnu/packages/patches/ath9k-htc-firmware-gcc-compat.patch new file mode 100644 index 0000000000..ceada2fa24 --- /dev/null +++ b/gnu/packages/patches/ath9k-htc-firmware-gcc-compat.patch @@ -0,0 +1,29 @@ +Fixes for compiling with -fno-common, default in GCC 10. + +Taken from upstream: +https://github.com/qca/open-ath9k-htc-firmware/commit/559e3eba3b4cf103da6b8d022f3e1387278b9db8 + +diff --git a/target_firmware/magpie_fw_dev/target/init/app_start.c b/target_firmware/magpie_fw_dev/target/init/app_start.c +--- a/target_firmware/magpie_fw_dev/target/init/app_start.c ++++ b/target_firmware/magpie_fw_dev/target/init/app_start.c +@@ -52,6 +52,8 @@ + #define ALLOCRAM_START ( ((unsigned int)&_fw_image_end) + 4) + #define ALLOCRAM_SIZE ( SYS_RAM_SZIE - ( ALLOCRAM_START - SYS_D_RAM_REGION_0_BASE) - SYS_D_RAM_STACK_SIZE) + ++void (* _assfail_ori)(struct register_dump_s *); ++ + // support for more than 64 bytes on command pipe + extern void usb_reg_out_patch(void); + extern int _HIFusb_get_max_msg_len_patch(hif_handle_t handle, int pipe); +diff --git a/target_firmware/magpie_fw_dev/target/init/init.h b/target_firmware/magpie_fw_dev/target/init/init.h +--- a/target_firmware/magpie_fw_dev/target/init/init.h ++++ b/target_firmware/magpie_fw_dev/target/init/init.h +@@ -46,7 +46,7 @@ + void AR6002_fatal_exception_handler_patch(CPU_exception_frame_t *exc_frame); + void exception_reset(struct register_dump_s *dump); + +-void (* _assfail_ori)(struct register_dump_s *); ++extern void (* _assfail_ori)(struct register_dump_s *); + void HTCMsgRecvHandler_patch(adf_nbuf_t hdr_buf, adf_nbuf_t buffer, void *context); + void HTCControlSvcProcessMsg_patch(HTC_ENDPOINT_ID EndpointID, adf_nbuf_t hdr_buf, + adf_nbuf_t pBuffers, void *arg); |