Message ID | 20230207195810.2016594-1-john@metanate.com |
---|---|
State | Accepted |
Headers | show |
Series | [v2] package/gcc: map debug prefix when reproducible | expand |
John, All, On 2023-02-07 19:58 +0000, John Keeping spake thusly: > When building with BR2_REPRODUCIBLE the toolchain wrapper passes > -fdebug-prefix-map for all packages that are built. But this doesn't > affect the target libraries (like libgcc) built by GCC's build system. > > GCC 4.3 added a configure option to set the debug prefix map for these > libraries, which is used here to avoid encoding potentially > non-reproducible build paths into the debug data. > > Signed-off-by: John Keeping <john@metanate.com> After burnng through ~80% of my battery testing this: applied to master, thanks. Regards, Yann E. MORIN. > --- > Changes since v1: > - Add the option to GCC common config, not just gcc-final > > package/gcc/gcc.mk | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk > index ec6f3b550a..6dfd93f2a4 100644 > --- a/package/gcc/gcc.mk > +++ b/package/gcc/gcc.mk > @@ -84,6 +84,10 @@ HOST_GCC_COMMON_CONF_OPTS = \ > --with-bugurl="http://bugs.buildroot.net/" \ > --without-zstd > > +ifeq ($(BR2_REPRODUCIBLE),y) > +HOST_GCC_COMMON_CONF_OPTS += --with-debug-prefix-map=$(BASE_DIR)=buildroot > +endif > + > # Don't build documentation. It takes up extra space / build time, > # and sometimes needs specific makeinfo versions to work > HOST_GCC_COMMON_CONF_ENV = \ > -- > 2.39.1 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk index ec6f3b550a..6dfd93f2a4 100644 --- a/package/gcc/gcc.mk +++ b/package/gcc/gcc.mk @@ -84,6 +84,10 @@ HOST_GCC_COMMON_CONF_OPTS = \ --with-bugurl="http://bugs.buildroot.net/" \ --without-zstd +ifeq ($(BR2_REPRODUCIBLE),y) +HOST_GCC_COMMON_CONF_OPTS += --with-debug-prefix-map=$(BASE_DIR)=buildroot +endif + # Don't build documentation. It takes up extra space / build time, # and sometimes needs specific makeinfo versions to work HOST_GCC_COMMON_CONF_ENV = \
When building with BR2_REPRODUCIBLE the toolchain wrapper passes -fdebug-prefix-map for all packages that are built. But this doesn't affect the target libraries (like libgcc) built by GCC's build system. GCC 4.3 added a configure option to set the debug prefix map for these libraries, which is used here to avoid encoding potentially non-reproducible build paths into the debug data. Signed-off-by: John Keeping <john@metanate.com> --- Changes since v1: - Add the option to GCC common config, not just gcc-final package/gcc/gcc.mk | 4 ++++ 1 file changed, 4 insertions(+)