From 9ee5e4996f81ebf9c9febba19df86d9072313343 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 3 Jun 2003 22:27:24 +0000 Subject: binutils/ * readelf.c (get_segment_type): Handle PT_GNU_STACK. bfd/ * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK. (bfd_section_from_phdr): Likewise. (map_sections_to_segments): Create PT_GNU_STACK segment header. (get_program_header_size): Count with PT_GNU_STACK. * elf-bfd.h (struct elf_obj_tdata): Add stack_flags. * elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags. include/ * bfdlink.h (struct bfd_link_info): Add execstack and noexecstack. * elf/common.h (PT_GNU_STACK): Define. ld/ * ldgram.y (phdr_type): Grok PT_GNU_STACK. * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add -z execstack and -z noexecstack. (gld${EMULATION_NAME}_list_options): Likewise. * scripttempl/elf.sc: If not -r, discard .note.GNU-stack section. --- include/bfdlink.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'include/bfdlink.h') diff --git a/include/bfdlink.h b/include/bfdlink.h index d68fe11..4636025 100644 --- a/include/bfdlink.h +++ b/include/bfdlink.h @@ -297,6 +297,14 @@ struct bfd_link_info /* TRUE if generating an executable, position independent or not. */ unsigned int executable : 1; + /* TRUE if PT_GNU_STACK segment should be created with PF_R|PF_W|PF_X + flags. */ + unsigned int execstack: 1; + + /* TRUE if PT_GNU_STACK segment should be created with PF_R|PF_W + flags. */ + unsigned int noexecstack: 1; + /* Which symbols to strip. */ enum bfd_link_strip strip; -- cgit v1.1