[Buildroot] [PATCH 1/1] package/i7z: fix build with gcc 10

Baruch Siach baruch at tkos.co.il
Tue Jan 19 07:01:42 UTC 2021


Hi Fabrice,

On Tue, Jan 19 2021, Fabrice Fontaine wrote:

> Fixes:
>  - http://autobuild.buildroot.org/results/1a433611ba8676cf1ca276fccaf3633971bd562e
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> ---
>  package/i7z/0001-fix-build-with-gcc-10.patch | 50 ++++++++++++++++++++
>  1 file changed, 50 insertions(+)
>  create mode 100644 package/i7z/0001-fix-build-with-gcc-10.patch
>
> diff --git a/package/i7z/0001-fix-build-with-gcc-10.patch b/package/i7z/0001-fix-build-with-gcc-10.patch
> new file mode 100644
> index 0000000000..ee10310000
> --- /dev/null
> +++ b/package/i7z/0001-fix-build-with-gcc-10.patch
> @@ -0,0 +1,50 @@
> +From 5be260153ff1145e3e0c0574324db9af3e00298f Mon Sep 17 00:00:00 2001
> +From: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> +Date: Tue, 19 Jan 2021 07:47:58 +0100
> +Subject: [PATCH] fix build with gcc 10
> +
> +Fix the following build failure with gcc 10 (which defaults to
> +-fno-common):
> +
> +/home/buildroot/autobuild/instance-2/output-1/host/bin/x86_64-linux-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os   -fno-schedule-insns2  -fno-schedule-insns -fno-inline-small-functions -fno-caller-saves -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DBUILD_MAIN -Wimplicit-function-declaration -Dx64_BIT  -o i7z i7z.o helper_functions.o i7z_Single_Socket.o i7z_Dual_Socket.o -lncurses -lpthread -lrt -lm
> +/home/buildroot/autobuild/instance-2/output-1/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-gnu/10.2.0/../../../../x86_64-buildroot-linux-gnu/bin/ld: i7z_Dual_Socket.o:(.bss+0x0): multiple definition of `global_ts'; i7z_Single_Socket.o:(.bss+0x0): first defined here
> +
> +Fixes:
> + - http://autobuild.buildroot.org/results/1a433611ba8676cf1ca276fccaf3633971bd562e
> +
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> +[Upstream status: https://github.com/ajaiantilal/i7z/pull/27]
> +---
> + i7z_Dual_Socket.c   | 2 +-
> + i7z_Single_Socket.c | 2 +-
> + 2 files changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/i7z_Dual_Socket.c b/i7z_Dual_Socket.c
> +index 1388339..4a67c43 100644
> +--- a/i7z_Dual_Socket.c
> ++++ b/i7z_Dual_Socket.c
> +@@ -37,7 +37,7 @@ float Read_Voltage_CPU(int cpu_num);
> + extern struct program_options prog_options;
> + FILE *fp_log_file;
> + 
> +-struct timespec global_ts;
> ++static struct timespec global_ts;
> + extern FILE *fp_log_file_freq_1, *fp_log_file_freq_2;
> + 
> + extern char* CPU_FREQUENCY_LOGGING_FILE_single;
> +diff --git a/i7z_Single_Socket.c b/i7z_Single_Socket.c
> +index 16e98c1..df8d35e 100644
> +--- a/i7z_Single_Socket.c
> ++++ b/i7z_Single_Socket.c
> +@@ -35,7 +35,7 @@ int Read_Thermal_Status_CPU(int cpu_num);
> + extern struct program_options prog_options;
> + extern FILE *fp_log_file_freq;
> + 
> +-struct timespec global_ts;
> ++static struct timespec global_ts;

Are you sure this is correct? This struct is not global anymore. You
have a separate struct for each file.

Maybe make one of them extern instead?

baruch

> + 
> + extern char* CPU_FREQUENCY_LOGGING_FILE_single;
> + extern char* CPU_FREQUENCY_LOGGING_FILE_dual;
> +-- 
> +2.29.2
> +


-- 
                                                     ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -


More information about the buildroot mailing list