From 1f0df59a2728f37b246fb21e3c8ae4890044af24 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 23 May 2000 21:03:35 +0000 Subject: [PATCH] When deciding if ".text" section should be read-only, don't forget to reset SEC_READONLY because it could be already set. --- ld/ChangeLog | 6 ++++++ ld/ldmain.c | 21 +++++++++++---------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 801de43..f0f2b6b 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2000-05-22 Igor Shevlyakov + + * ldmain.c (main): When deciding if ".text" section should be + read-only, don't forget to reset SEC_READONLY because it + could be already set. + 2000-05-22 Thomas de Lellis * ld.1: Add documentation for new command line option: diff --git a/ld/ldmain.c b/ld/ldmain.c index cfdbdd7..7372594 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -347,17 +347,18 @@ main (argc, argv) /* Print error messages for any missing symbols, for any warning symbols, and possibly multiple definitions */ - - if (config.text_read_only) - { - /* Look for a text section and mark the readonly attribute in it */ - asection *found = bfd_get_section_by_name (output_bfd, ".text"); - - if (found != (asection *) NULL) - { + /* 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; -- 2.7.4