(lang_finish): Use it.
* ldlang.h (entry_section): Declare.
* emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Set
entry_section to ".opd".
+2002-02-10 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (entry_section): New initialised variable.
+ (lang_finish): Use it.
+ * ldlang.h (entry_section): Declare.
+ * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Set
+ entry_section to ".opd".
+
2002-02-09 Chris Demetriou <cgd@broadcom.com>
* ld.texinfo (Options): Add back in -nostdlib documentation,
static void
gld${EMULATION_NAME}_finish ()
{
+ /* e_entry on PowerPC64 points to the function descriptor for
+ _start. If _start is missing, default to the first function
+ descriptor in the .opd section. */
+ entry_section = ".opd";
+
/* If generating a relocatable output file, then we don't have any
stubs. */
if (link_info.relocateable)
lang_statement_list_type *stat_ptr = &statement_list;
lang_statement_list_type file_chain = { NULL, NULL };
const char *entry_symbol = NULL;
+const char *entry_section = ".text";
boolean entry_from_cmdline;
boolean lang_has_input_file = false;
boolean had_output_filename = false;
/* Can't find the entry symbol, and it's not a number. Use
the first address in the text section. */
- ts = bfd_get_section_by_name (output_bfd, ".text");
+ ts = bfd_get_section_by_name (output_bfd, entry_section);
if (ts != (asection *) NULL)
{
if (warn)
extern boolean delete_output_file_on_failure;
extern const char *entry_symbol;
+extern const char *entry_section;
extern boolean entry_from_cmdline;
extern lang_statement_list_type file_chain;