gnu: ath9k-htc-firmware: Adjust for GCC 10.
authorMarius Bakke <marius@gnu.org>
Fri, 18 Jun 2021 21:52:14 +0000 (23:52 +0200)
committerMarius Bakke <marius@gnu.org>
Sat, 19 Jun 2021 15:09:51 +0000 (17:09 +0200)
* gnu/packages/patches/ath9k-htc-firmware-gcc-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/firmware.scm (ath9k-htc-firmware)[source](patches): Add it.

gnu/local.mk
gnu/packages/firmware.scm
gnu/packages/patches/ath9k-htc-firmware-gcc-compat.patch [new file with mode: 0644]

index 4d9afd5..cd76ba8 100644 (file)
@@ -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              \
index c9a68f5..ebcb899 100644 (file)
@@ -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 (file)
index 0000000..ceada2f
--- /dev/null
@@ -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);