Nick Clifton
e922d1eaa3
Add ability to change linker warning messages into errors when reporting executable stacks and/or executable segments.
include
* bfdlink.h (struct bfd_link_info): Update descriptions of the 'execstack', 'noexecstack' and 'warn_execstack' fields. Add 'error_exectack' and 'warn_is_error_for_rwx_segments' fields.
bfd
* elf.c (assign_file_positions_except_relocs): Turn warnings about executable segments into errors if so requested.
* elflink.c (bfd_elf_size_dynamic_sections): Turn warnings about executable stacks into errors if so requested.
ld
* ldlex.h (enum option_values): Add OPTION_ERROR_EXECSTACK, OPTION_NO_ERROR_EXECSTACK, OPTION_WARN_EXECSTACK_OBJECTS, OPTION_ERROR_RWX_SEGMENTS and OPTION_NO_ERROR_RWX_SEGMENTS. (struct ld_option): Add new long options. (parse_args): Parse new long options. (elf_static_list_options): Display the new options.
* ld.texi: Document the new command line options.
* configure.ac (error-execstack): New configuration option. (error-rwx-segments): New configuration option.
* emultempl/elf.em (_before_parse): Initialse the new linkinfo fields.
* NEWS: Mention the new features.
* config.in: Regenerate.
* configure: Regenerate.
* testsuite/ld-elf/commonpage2.d: Disable errors for RWX segments and/or executable stacks.
* testsuite/ld-elf/elf.exp: Likewise.
* testsuite/ld-elf/header.d: Likewise.
* testsuite/ld-elf/loadaddr1.d: Likewise.
* testsuite/ld-elf/loadaddr2.d: Likewise.
* testsuite/ld-elf/maxpage4.d: Likewise.
* testsuite/ld-elf/nobits-1.d: Likewise.
* testsuite/ld-elf/note-1.d: Likewise.
* testsuite/ld-elf/orphan-10.d: Likewise.
* testsuite/ld-elf/orphan-11.d: Likewise.
* testsuite/ld-elf/orphan-12.d: Likewise.
* testsuite/ld-elf/orphan-5.d: Likewise.
* testsuite/ld-elf/orphan-7.d: Likewise.
* testsuite/ld-elf/orphan-8.d: Likewise.
* testsuite/ld-elf/orphan-9.d: Likewise.
* testsuite/ld-elf/orphan-region.d: Likewise.
* testsuite/ld-elf/orphan.d: Likewise.
* testsuite/ld-elf/pr19539.d: Likewise.
* testsuite/ld-elf/pr26256-1a.d: Likewise.
* testsuite/ld-elf/pr26907.d: Likewise.
* testsuite/ld-elf/pr28597.d: Likewise.
* testsuite/ld-elf/retain2.d: Likewise.
* testsuite/ld-elf/shared.exp: Likewise.
* testsuite/ld-elf/size-1.d: Likewise.
* testsuite/ld-elf/textaddr7.d: Likewise.
* testsuite/ld-elf/warn1.d: Likewise.
* testsuite/ld-elf/warn2.d: Likewise.
* testsuite/ld-i386/discarded1.d: Likewise.
* testsuite/ld-i386/pr19175.d: Likewise.
* testsuite/ld-i386/pr19539.d: Likewise.
* testsuite/ld-i386/pr23189.d: Likewise.
* testsuite/ld-plugin/lto-3r.d: Likewise.
* testsuite/ld-plugin/lto-5r.d: Likewise.
* testsuite/ld-plugin/lto.exp: Likewise.
* testsuite/ld-powerpc/ppc476-shared.d: Likewise.
* testsuite/ld-powerpc/ppc476-shared2.d: Likewise.
* testsuite/ld-powerpc/pr28827-2.d: Likewise.
* testsuite/ld-s390/s390.exp: Likewise.
* testsuite/ld-scripts/align2a.d: Likewise.
* testsuite/ld-scripts/align2b.d: Likewise.
* testsuite/ld-scripts/align5.d: Likewise.
* testsuite/ld-scripts/alignof.exp: Likewise.
* testsuite/ld-scripts/crossref.exp: Likewise.
* testsuite/ld-scripts/defined2.d: Likewise.
* testsuite/ld-scripts/defined3.d: Likewise.
* testsuite/ld-scripts/defined5.d: Likewise.
* testsuite/ld-scripts/pr14962.d: Likewise.
* testsuite/ld-scripts/pr18963.d: Likewise.
* testsuite/ld-scripts/pr20302.d: Likewise.
* testsuite/ld-scripts/print-memory-usage.exp: Likewise.
* testsuite/ld-scripts/rgn-at1.d: Likewise.
* testsuite/ld-scripts/rgn-at10.d: Likewise.
* testsuite/ld-scripts/rgn-at4.d: Likewise.
* testsuite/ld-scripts/rgn-at6.d: Likewise.
* testsuite/ld-scripts/rgn-at8.d: Likewise.
* testsuite/ld-scripts/rgn-at9.d: Likewise.
* testsuite/ld-scripts/rgn-over1.d: Likewise.
* testsuite/ld-scripts/rgn-over2.d: Likewise.
* testsuite/ld-scripts/rgn-over4.d: Likewise.
* testsuite/ld-scripts/rgn-over5.d: Likewise.
* testsuite/ld-scripts/rgn-over6.d: Likewise.
* testsuite/ld-scripts/script.exp: Likewise.
* testsuite/ld-scripts/sizeof.exp: Likewise.
* testsuite/ld-scripts/sort-file.d: Likewise.
* testsuite/ld-x86-64/discarded1.d: Likewise.
* testsuite/ld-x86-64/pr19175.d: Likewise.
* testsuite/ld-x86-64/pr19539a.d: Likewise.
* testsuite/ld-x86-64/pr19539b.d: Likewise.
* testsuite/ld-x86-64/pr23189.d: Likewise.
2023-11-10 11:37:27 +00:00
..
2022-05-04 14:41:56 +09:30
2022-05-04 14:41:56 +09:30
2022-05-04 14:41:56 +09:30
2022-05-04 14:41:56 +09:30
2022-05-04 14:41:56 +09:30
2022-05-04 14:41:56 +09:30
2022-05-04 14:41:56 +09:30
2022-02-03 13:40:41 +10:30
2022-02-03 13:40:41 +10:30
2022-02-03 13:40:41 +10:30
2022-02-03 13:40:41 +10:30
2022-02-03 13:40:41 +10:30
2022-02-03 13:40:41 +10:30
2022-02-03 13:40:41 +10:30
2022-02-03 13:40:41 +10:30
2022-02-03 13:40:41 +10:30
2022-02-03 13:40:41 +10:30
2022-02-03 13:40:41 +10:30
2023-01-01 21:50:11 +10:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2021-03-12 22:47:23 +10:30
2021-03-12 22:47:23 +10:30
2021-03-12 22:47:23 +10:30
2021-03-12 22:47:23 +10:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2021-04-20 14:40:43 +01:00
2021-04-20 14:40:43 +01:00
2021-04-20 14:40:43 +01:00
2021-04-20 14:40:43 +01:00
2020-07-08 15:56:28 +09:30
2022-05-31 11:25:09 +09:30
2020-07-08 15:56:28 +09:30
2022-05-31 11:25:09 +09:30
2020-07-08 15:56:28 +09:30
2022-05-31 11:25:09 +09:30
2020-07-08 15:56:28 +09:30
2022-05-31 11:25:09 +09:30
2022-05-31 11:25:09 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2022-05-31 11:25:09 +09:30
2022-01-10 09:14:57 +01:00
2022-01-10 09:14:57 +01:00
2022-01-10 09:14:57 +01:00
2022-01-10 09:14:57 +01:00
2021-03-12 22:47:33 +10:30
2022-01-10 09:14:57 +01:00
2021-03-12 22:47:33 +10:30
2021-03-12 22:47:33 +10:30
2021-03-12 22:47:33 +10:30
2021-03-12 22:47:33 +10:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2022-05-31 11:25:09 +09:30
2020-07-08 15:56:28 +09:30
2022-05-31 11:25:09 +09:30
2020-07-08 15:56:28 +09:30
2020-07-08 15:56:28 +09:30
2020-07-19 12:27:47 +09:30
2020-07-19 12:27:47 +09:30
2021-11-15 12:20:13 +10:30
2020-07-10 11:14:38 +09:30
2020-07-19 12:27:47 +09:30
2020-11-17 20:59:53 +10:30
2020-11-17 20:59:53 +10:30
2022-06-28 13:02:26 +09:30
2022-03-16 09:59:07 +10:30
2021-05-05 10:35:31 +09:30
2023-01-01 21:50:11 +10:30
2020-11-18 23:49:31 +10:30
2020-11-18 23:49:31 +10:30
2020-11-18 23:49:31 +10:30
2020-11-18 23:49:31 +10:30
2020-11-18 23:49:31 +10:30
2020-11-18 23:49:31 +10:30
2020-11-18 23:49:31 +10:30
2020-11-18 23:49:31 +10:30
2020-08-16 23:00:34 +09:30
2020-08-16 23:00:34 +09:30
2020-08-16 23:00:34 +09:30
2020-08-16 23:00:34 +09:30
2020-08-16 23:00:34 +09:30
2021-04-09 16:56:43 +09:30
2021-04-09 16:56:43 +09:30
2020-08-16 23:00:34 +09:30
2020-08-16 23:00:34 +09:30
2022-12-21 17:56:27 +10:30
2022-12-21 17:56:27 +10:30
2021-04-09 16:56:43 +09:30
2022-06-28 13:02:26 +09:30
2020-07-19 12:27:47 +09:30
2020-07-19 12:27:47 +09:30
2022-06-28 13:02:26 +09:30
2022-06-28 13:02:26 +09:30
2021-04-09 16:56:43 +09:30
2023-08-04 17:59:01 +09:30
2023-11-10 11:37:27 +00:00
2023-11-10 11:37:27 +00:00
2022-06-28 13:02:26 +09:30
2022-02-05 18:21:34 +10:30
2022-02-07 09:36:19 +10:30
2023-11-10 11:37:27 +00:00
2022-01-31 14:09:34 +10:30
2022-01-31 14:09:34 +10:30
2021-01-20 16:12:06 +10:30
2021-01-20 16:12:06 +10:30
2022-05-31 11:25:09 +09:30
2021-04-09 16:56:43 +09:30
2021-03-02 21:49:56 +10:30
2021-03-02 21:49:56 +10:30
2022-01-28 17:00:55 +10:30
2022-01-28 17:00:55 +10:30
2022-01-28 17:00:55 +10:30
2020-08-24 21:15:06 +09:30
2023-08-04 17:59:01 +09:30
2023-08-04 17:59:01 +09:30
2022-03-16 09:59:07 +10:30
2020-09-26 19:03:02 +09:30
2020-09-26 19:03:02 +09:30
2020-08-24 21:15:06 +09:30
2022-07-26 22:14:20 +09:30
2022-07-26 22:14:20 +09:30
2021-07-24 17:59:52 +09:30
2021-07-24 17:59:52 +09:30
2021-07-24 17:59:52 +09:30
2021-07-24 17:59:52 +09:30
2021-07-24 17:59:52 +09:30
2021-07-24 17:59:52 +09:30
2022-03-16 09:59:07 +10:30
2021-07-24 17:59:52 +09:30
2022-03-16 09:59:07 +10:30
2020-09-28 19:36:35 +09:30
2021-07-24 17:59:52 +09:30
2021-04-09 16:56:43 +09:30
2020-08-24 21:15:06 +09:30
2020-08-24 21:15:06 +09:30
2020-08-24 21:15:06 +09:30
2022-03-16 09:59:07 +10:30
2020-09-26 19:03:02 +09:30
2022-03-16 09:59:07 +10:30
2020-09-26 19:03:02 +09:30
2022-07-26 22:14:20 +09:30
2021-07-24 17:59:52 +09:30
2021-07-24 17:59:52 +09:30
2020-08-24 21:15:06 +09:30
2020-08-24 21:15:06 +09:30
2020-08-24 21:15:06 +09:30
2020-08-24 21:15:06 +09:30
2020-08-24 21:15:06 +09:30
2021-05-05 10:35:31 +09:30
2021-05-05 10:35:31 +09:30
2021-04-09 16:56:43 +09:30
2021-03-02 21:47:42 +10:30
2021-03-02 21:47:42 +10:30
2021-04-09 16:56:43 +09:30
2021-03-02 21:47:42 +10:30