This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 2 of 4] cc/gcc: add build-id option


# HG changeset patch
# User "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
# Date 1309175535 -7200
# Node ID bf2d0ee90afdc4878d5e398470833dc7caeb3bd6
# Parent  28ea242a652e197abf84c549ee275059a425d72a
cc/gcc: add build-id option

Add an option to configure gcc with --enable-linker-build-id.

Reported-by: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

diff --git a/config/cc/gcc.in b/config/cc/gcc.in
--- a/config/cc/gcc.in
+++ b/config/cc/gcc.in
@@ -220,6 +220,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
@@ -233,6 +234,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
@@ -255,6 +257,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 --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2
--- a/config/cc/gcc.in.2
+++ b/config/cc/gcc.in.2
@@ -199,3 +199,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 --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh
--- a/scripts/build/cc/gcc.sh
+++ b/scripts/build/cc/gcc.sh
@@ -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)
@@ -527,6 +531,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

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]