diff options
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/firmware.scm | 3 | ||||
-rw-r--r-- | gnu/packages/patches/ath9k-htc-firmware-gcc-compat.patch | 29 |
2 files changed, 31 insertions, 1 deletions
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); |