fix compile error with gcc-10 164/head
authorOleksij Rempel <linux@rempel-privat.de>
Fri, 14 Aug 2020 07:59:11 +0000 (09:59 +0200)
committerOleksij Rempel <linux@rempel-privat.de>
Fri, 14 Aug 2020 08:10:58 +0000 (10:10 +0200)
With GCC 10.2 we will get following error:
toolchain/inst/lib/gcc/xtensa-elf/10.2.0/../../../../xtensa-elf/bin/ld:
  target_firmware/build/k2/libfirmware.a(init.c.obj):target_firmware/magpie_fw_dev/target/init/init.h:53:
  multiple definition of `_assfail_ori';
  target_firmware/build/k2/libfirmware.a(app_start.c.obj):target_firmware/magpie_fw_dev/target/init/init.h:53:
  first defined here

Since previous compilers merged this variable automatically, the GCC 10
will do it only if we will tell it to do so. With this patch we should
be able to compile this firmware with new and old compiler.

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
target_firmware/magpie_fw_dev/target/init/app_start.c
target_firmware/magpie_fw_dev/target/init/init.h

index 8fa9c8b56728b08adfd9e6c07950977f3d329ac9..754586390170fe4ca9f54af057913d824c499748 100644 (file)
@@ -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);
index 342f64b788e2aba94593ccd7866adf477894eb0a..e44c99e8abf803f5f329f22a39366edd410e9903 100644 (file)
@@ -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);