0005-fix-build-with-gcc-10.patch 2.0 KB

123456789101112131415161718192021222324252627282930
  1. fix build with gcc 10
  2. Define __Cc, __Dc and Res_bit as extern to avoid the following build
  3. failure with gcc 10 (which defaults to -fno-common):
  4. /nvme/rc-buildroot-test/scripts/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: CMakeFiles/mpcdec_shared.dir/requant.o:(.rodata+0x0): multiple definition of `__Dc'; CMakeFiles/mpcdec_shared.dir/mpc_decoder.o:(.rodata+0x430): first defined here
  5. /nvme/rc-buildroot-test/scripts/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: CMakeFiles/mpcdec_shared.dir/requant.o:(.rodata+0x28): multiple definition of `__Cc'; CMakeFiles/mpcdec_shared.dir/mpc_decoder.o:(.rodata+0x458): first defined here
  6. /nvme/rc-buildroot-test/scripts/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: CMakeFiles/mpcdec_shared.dir/requant.o:(.rodata+0x74): multiple definition of `Res_bit'; CMakeFiles/mpcdec_shared.dir/mpc_decoder.o:(.rodata+0x4a4): first defined here
  7. Fixes:
  8. - http://autobuild.buildroot.org/results/9971da8c59484a6a26eb79d6e157461a47855dbf
  9. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  10. diff -Naur musepack_src_r475.orig/libmpcdec/requant.h musepack_src_r475/libmpcdec/requant.h
  11. --- musepack_src_r475.orig/libmpcdec/requant.h 2020-09-10 08:31:50.696105246 +0200
  12. +++ musepack_src_r475/libmpcdec/requant.h 2020-09-10 08:32:52.944106476 +0200
  13. @@ -47,9 +47,9 @@
  14. /* C O N S T A N T S */
  15. -const mpc_uint8_t Res_bit [18]; ///< Bits per sample for chosen quantizer
  16. -const MPC_SAMPLE_FORMAT __Cc [1 + 18]; ///< Requantization coefficients
  17. -const mpc_int16_t __Dc [1 + 18]; ///< Requantization offset
  18. +extern const mpc_uint8_t Res_bit [18]; ///< Bits per sample for chosen quantizer
  19. +extern const MPC_SAMPLE_FORMAT __Cc [1 + 18]; ///< Requantization coefficients
  20. +extern const mpc_int16_t __Dc [1 + 18]; ///< Requantization offset
  21. #define Cc (__Cc + 1)
  22. #define Dc (__Dc + 1)