summaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2020-03-05 08:44:11 +0100
committerRichard Biener <rguenther@suse.de>2020-03-05 08:44:11 +0100
commitc9f90a25d4945e904839326957c7c4d34abd88dd (patch)
treed37dbb6bb8300c2cecdbce38c7fc04456948b6e9 /libiberty
parentfe19699ae2883b252d30f98481d32dabff00744b (diff)
Keep .GCC.command.line sections of LTO objetcs
This patch is for .GCC.command.line sections in LTO objects to be copied into the final objects as in the following example: [egeyar@localhost lto]$ gcc -flto -O3 demo.c -c -g --record-gcc-command-line [egeyar@localhost lto]$ gcc -flto -O2 demo2.c -c -g --record-gcc-command-line -DFORTIFY=2 [egeyar@localhost lto]$ gcc demo.o demo2.o -o a.out [egeyar@localhost lto]$ readelf -p .GCC.command.line a.out String dump of section '.GCC.command.line': [ 0] 10.0.1 20200227 (experimental) : gcc -flto -O3 demo.c -c -g --record-gcc-command-line [ 56] 10.0.1 20200227 (experimental) : gcc -flto -O2 demo2.c -c -g --record-gcc-command-line -DFORTIFY=2 2020-03-05 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com> * simple-object.c (handle_lto_debug_sections): Name ".GCC.command.line" among debug sections to be copied over from lto objects.
Diffstat (limited to 'libiberty')
-rw-r--r--libiberty/ChangeLog6
-rw-r--r--libiberty/simple-object.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 4c8b236cf78..106c107e91a 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,9 @@
+2020-03-05 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
+
+ * simple-object.c (handle_lto_debug_sections): Name
+ ".GCC.command.line" among debug sections to be copied over
+ from lto objects.
+
2020-03-02 Nick Clifton <nickc@redhat.com>
* testsuite/demangle-expected: Update expected demangling of
diff --git a/libiberty/simple-object.c b/libiberty/simple-object.c
index e6c466ab767..92f5698d0a6 100644
--- a/libiberty/simple-object.c
+++ b/libiberty/simple-object.c
@@ -301,6 +301,9 @@ handle_lto_debug_sections (const char *name, int rename)
COMDAT sections in objects produced by GCC. */
else if (strcmp (name, ".comment") == 0)
return strcpy (newname, name);
+ /* Copy over .GCC.command.line section under the same name if present. */
+ else if (strcmp (name, ".GCC.command.line") == 0)
+ return strcpy (newname, name);
free (newname);
return NULL;
}