From 3539414584be0094b0a4fe56dfd64ea79d802edc Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 4 May 2023 14:24:16 +0100 Subject: Stop the linker from loosing the entry point for COFF/PE code when compiling with LTO enabled. PR 30300 * emultempl/pep.em (set_entry_point): Add an undefined reference to the entry point if it has been constructed heuristically. * emultempl/pe.em (set_entry_point): Likewise. --- ld/ChangeLog | 7 +++++++ ld/emultempl/pe.em | 3 +++ ld/emultempl/pep.em | 3 +++ 3 files changed, 13 insertions(+) (limited to 'ld') diff --git a/ld/ChangeLog b/ld/ChangeLog index dcdf27cf423..121bdfd735f 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2023-05-04 Nick Clifton + + PR 30300 + * emultempl/pep.em (set_entry_point): Add an undefined reference + to the entry point if it has been constructed heuristically. + * emultempl/pe.em (set_entry_point): Likewise. + 2023-05-04 Dimitar Dimitrov * scripttempl/pru.sc (OUTPUT_SECTION_ALIGN): New helper variable diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em index 55412d6ef9e..1f2a5f310be 100644 --- a/ld/emultempl/pe.em +++ b/ld/emultempl/pe.em @@ -659,6 +659,9 @@ set_entry_point (void) } lang_default_entry (entry); + + if (bfd_link_executable (&link_info) && ! entry_from_cmdline) + ldlang_add_undef (entry, false); } static void diff --git a/ld/emultempl/pep.em b/ld/emultempl/pep.em index 2a3fd0e6ea8..ca4acaea148 100644 --- a/ld/emultempl/pep.em +++ b/ld/emultempl/pep.em @@ -631,6 +631,9 @@ set_entry_point (void) } lang_default_entry (entry); + + if (bfd_link_executable (&link_info) && ! entry_from_cmdline) + ldlang_add_undef (entry, false); } static void -- cgit v1.2.1