# HG changeset patch # User "Yann E. MORIN" # Date 1309175535 -7200 # Node ID 9cfca603f892a6f3b1b6274a9a3e6acb15f208bc # Parent e3523df95b6bd0992eea629a6b03c04037c89c35 cc/gcc: add build-id option Add an option to configure gcc with --enable-linker-build-id. Reported-by: Bryan Hundven Signed-off-by: "Yann E. MORIN" diff -r e3523df95b6b -r 9cfca603f892 config/cc/gcc.in --- a/config/cc/gcc.in Thu Jun 30 18:14:01 2011 +0200 +++ b/config/cc/gcc.in Mon Jun 27 13:52:15 2011 +0200 @@ -237,6 +237,7 @@ select CC_GCC_HAS_GRAPHITE select CC_GCC_HAS_LTO select CC_GCC_HAS_PKGVERSION_BUGURL + select CC_GCC_HAS_BUILD_ID config CC_GCC_4_5_or_later bool @@ -250,6 +251,7 @@ select CC_GCC_HAS_GRAPHITE select CC_GCC_HAS_LTO select CC_GCC_HAS_PKGVERSION_BUGURL + select CC_GCC_HAS_BUILD_ID config CC_GCC_4_6_or_later bool @@ -272,6 +274,9 @@ config CC_GCC_HAS_PKGVERSION_BUGURL bool +config CC_GCC_HAS_BUILD_ID + bool + # Only enable gcc's support for plugins if binutils has it as well # They are usefull only when doing LTO, but it does no harm enabling # them even without LTO. diff -r e3523df95b6b -r 9cfca603f892 config/cc/gcc.in.2 --- a/config/cc/gcc.in.2 Thu Jun 30 18:14:01 2011 +0200 +++ b/config/cc/gcc.in.2 Mon Jun 27 13:52:15 2011 +0200 @@ -198,3 +198,16 @@ glibc >= 2.4, 64-bit otherwise) If in doubt, keep the default, ie. 'M'. + +config CC_GCC_BUILD_ID + bool + prompt "Enable build-id" + depends on CC_GCC_HAS_BUILD_ID + help + Tells GCC to pass --build-id option to the linker for all final + links (links performed without the -r or --relocatable option), + if the linker supports it. If you say 'y' here, but your linker + does not support --build-id option, a warning is issued and this + option is ignored. + + The default is off. diff -r e3523df95b6b -r 9cfca603f892 scripts/build/cc/gcc.sh --- a/scripts/build/cc/gcc.sh Thu Jun 30 18:14:01 2011 +0200 +++ b/scripts/build/cc/gcc.sh Mon Jun 27 13:52:15 2011 +0200 @@ -258,6 +258,10 @@ "") extra_config+=("--without-long-double-128");; esac + if [ "${CT_CC_GCC_BUILD_ID}" = "y" ]; then + extra_config+=( --enable-linker-build-id ) + fi + CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'" # Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532) @@ -526,6 +530,10 @@ "") extra_config+=("--without-long-double-128");; esac + if [ "${CT_CC_GCC_BUILD_ID}" = "y" ]; then + extra_config+=( --enable-linker-build-id ) + fi + if [ "${CT_CC_GCC_ENABLE_PLUGINS}" = "y" ]; then extra_config+=( --enable-plugin ) fi