[binutils-gdb] So the linker from producing an export data table when run with --exclude-all-symbols.

Nick Clifton nickc@sourceware.org
Mon Feb 20 11:33:39 GMT 2023


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c9802aca6d152c4a47252f69ad81556dbc24e312

commit c9802aca6d152c4a47252f69ad81556dbc24e312
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Feb 20 11:32:52 2023 +0000

    So the linker from producing an export data table when run with --exclude-all-symbols.
    
     PR 30004 * pe-dll.c (pe_dll_build_sections): Do not build an edata section if all symbols are being excluded.

Diff:
---
 ld/ChangeLog | 6 ++++++
 ld/pe-dll.c  | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/ld/ChangeLog b/ld/ChangeLog
index 0fa00a95525..de9ed2753bc 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,9 @@
+2023-02-20  Nick Clifton  <nickc@redhat.com>
+
+	PR 30004
+	* pe-dll.c (pe_dll_build_sections): Do not build an edata section
+	if all symbols are being excluded.
+
 2023-02-16  Ulf Samuelsson <binutils@emagii.com>
 	    Nick Clifton  <nickc@redhat.com>
 
diff --git a/ld/pe-dll.c b/ld/pe-dll.c
index 2956eef1ca9..7e0d886cfb9 100644
--- a/ld/pe-dll.c
+++ b/ld/pe-dll.c
@@ -3659,7 +3659,8 @@ pe_dll_build_sections (bfd *abfd, struct bfd_link_info *info)
   pe_output_file_set_long_section_names (abfd);
   process_def_file_and_drectve (abfd, info);
 
-  if (pe_def_file->num_exports == 0 && !bfd_link_pic (info))
+  if (pe_def_file->num_exports == 0
+      && (!bfd_link_pic (info) || pe_dll_exclude_all_symbols))
     {
       if (pe_dll_enable_reloc_section)
 	{


More information about the Binutils-cvs mailing list