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.
This commit is contained in:
Richard Biener 2020-03-05 08:44:11 +01:00
parent fe19699ae2
commit c9f90a25d4
2 changed files with 9 additions and 0 deletions

View File

@ -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

View File

@ -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;
}