From 862120bdbe9b36aa448b8372b120cd3dada51d14 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 18 Mar 2002 02:55:51 +0000 Subject: * ldmain.c (main): Move .text readonly flag fudges from here.. * ldlang.c (lang_process): ..to here. --- ld/ChangeLog | 5 +++++ ld/ldlang.c | 16 ++++++++++++++++ ld/ldmain.c | 14 -------------- 3 files changed, 21 insertions(+), 14 deletions(-) (limited to 'ld') diff --git a/ld/ChangeLog b/ld/ChangeLog index b85af57f54..fbee9a65a6 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2002-03-18 Alan Modra + + * ldmain.c (main): Move .text readonly flag fudges from here.. + * ldlang.c (lang_process): ..to here. + 2002-03-14 Alan Modra * ldlang.c (lang_check): Remove the word size check added in last diff --git a/ld/ldlang.c b/ld/ldlang.c index 4c4d880519..b176f2d86c 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -4198,6 +4198,22 @@ lang_process () /* Find any sections not attached explicitly and handle them. */ lang_place_orphans (); + if (! link_info.relocateable) + { + /* Look for a text section and set the readonly attribute in it. */ + asection *found = bfd_get_section_by_name (output_bfd, ".text"); + + if (found != (asection *) NULL) + { + if (config.text_read_only) + found->flags |= SEC_READONLY; + else + found->flags &= ~SEC_READONLY; + } + } + + /* Do anything special before sizing sections. This is where ELF + and other back-ends size dynamic sections. */ ldemul_before_allocation (); /* We must record the program headers before we try to fix the diff --git a/ld/ldmain.c b/ld/ldmain.c index 0579727289..221f9d1f39 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -404,20 +404,6 @@ main (argc, argv) /* Print error messages for any missing symbols, for any warning symbols, and possibly multiple definitions. */ - if (! link_info.relocateable) - { - /* Look for a text section and switch the readonly attribute in it. */ - asection *found = bfd_get_section_by_name (output_bfd, ".text"); - - if (found != (asection *) NULL) - { - if (config.text_read_only) - found->flags |= SEC_READONLY; - else - found->flags &= ~SEC_READONLY; - } - } - if (link_info.relocateable) output_bfd->flags &= ~EXEC_P; else -- cgit v1.2.1