04c3a75556
* bfd-in.h (bfd_elf_stack_segment_size): Declare. * bfd-in2.h: Rebuilt. * elfxx-target.h (elf_backend_stack_align): New. (elfNN_bed): Add it. * elf-bfd.h (struct elf_backend_data): Add stack_align field. * elf.c (bfd_elf_map_sections_to_segments): Pay attention to stack_align and stacksize for PT_GNU_STACK segment. (assign_file_positions_for_non_load_sections): Set p_memsz for PT_GNU_STACK segment. (copy_elf_program_header): Copy PT_GNU_STACK size. * elflink.c (bfd_elf_stack_segment_size): New function, taken from uclinux backends. (bfd_elf_size_dynamic_sections): Determine PT_GNU_STACK requirements after calling backend. Pay attention to stacksize. * elf32-bfin.c (elf32_bfinfdpic_always_size_sections): Call bfd_elf_stack_segment_size. (elf32_bfinfdpic_modify_program_headers): Delete. (elf32_bfingfdpic_copy_private_bfd_data): Don't copy PT_GNU_STACK here. (elf_backend_stack_align): Override. (elf_backend_modify_program_headers): Don't override. * elf32-frv.c (frvfdpic_always_size_sections): Call bfd_elf_stack_segment_size. (elf32_frvfdpic_modify_program_headers): Delete. (elf32_frvfdpic_copy_private_bfd_data): Don't copy PT_GNU_STACK here. (elf_backend_stack_align): Override. (elf_backend_modify_program_headers): Don't override. * elf32-lm32.c (lm32_elf_always_size_sections): Leave PT_GNU_STACK creation to underlying elf support. Check __stacksize here for backwards compatibility, and set it if needed. (lm32_elf_modify_segment_map): Delete. (lm32_elf_modify_program_headers): Delete. (elf_backend_stack_align): Override. (elf_backend_modify_segment_map): Don't override. (elf_backend_modify_program_headers): Don't override. * elf32-sh.c (sh_elf_always_size_sections): Call bfd_elf_stack_segment_size. (sh_elf_modify_program_headers): Delete. (sh_elf_copy_private_data): Don't copy PT_GNU_STACK here. (elf_backend_stack_align): Override. (elf_backend_modify_program_headers): Don't override. * elf32-tic6x.c (elf32_tic6x_always_size_sections): Call bfd_elf_stack_segment_size. (elf32_tic6x_modify_program_headers): Delete. (elf32_tic6x_copy_private_data): Delete. (elf_backend_stack_align): Override. (bfd_elf32_bfd_copy_private_bfd_data): Don't override. (elf_backend_modify_program_headers): Don't override. include/ * bfdlink.h (struct bfd_link_info): Add stacksize option. ld/ * ld.texinfo (stack-size): New option. * emultempl/elf32.em: Add stack-size option. ld/testsuite/ * ld-elf/binutils.exp: Add -z stack-size=0. * ld-elf/elf.exp: Add stack-exec and stack-size tests. * ld-elf/orphan-region.d: Add stack-size option. Remove xfail. * ld-elf/stack-exec.rd: New. * ld-elf/stack-size.rd: New. * ld-elf/stack.s: New. * ld-scripts/empty-aligned.d: Add stack-size option. * ld-sh/fdpic-stack-set.d: New. * ld-tic6x/shlib-1.rd: Remove __stacksize symbol. * ld-tic6x/shlib-1b.rd: Likewise. * ld-tic6x/shlib-1r.rd: Likewise. * ld-tic6x/shlib-1rb.rd: Likewise. * ld-tic6x/shlib-app-1.rd: Likewise. * ld-tic6x/shlib-app-1b.rd: Likewise. * ld-tic6x/shlib-app-1r.rd: Likewise. * ld-tic6x/shlib-app-1rb.rd: Likewise. * ld-tic6x/shlib-noindex.rd: Likewise. * ld-tic6x/static-app-1.rd: Likewise. * ld-tic6x/static-app-1b.rd: Likewise. * ld-tic6x/static-app-1r.rd: Likewise. * ld-tic6x/static-app-1rb.rd: Likewise. |
||
---|---|---|
.. | ||
arch | ||
sh64 | ||
fdpic-funcdesc-shared.d | ||
fdpic-funcdesc-shared.s | ||
fdpic-funcdesc-static.d | ||
fdpic-funcdesc-static.s | ||
fdpic-gotfuncdesc-shared.d | ||
fdpic-gotfuncdesc-shared.s | ||
fdpic-gotfuncdesc-static.d | ||
fdpic-gotfuncdesc-static.s | ||
fdpic-gotfuncdesci20-shared.d | ||
fdpic-gotfuncdesci20-shared.s | ||
fdpic-gotfuncdesci20-static.d | ||
fdpic-gotfuncdesci20-static.s | ||
fdpic-goti20-shared.d | ||
fdpic-goti20-shared.s | ||
fdpic-goti20-static.d | ||
fdpic-goti20-static.s | ||
fdpic-gotofffuncdesc-shared.d | ||
fdpic-gotofffuncdesc-shared.s | ||
fdpic-gotofffuncdesc-static.d | ||
fdpic-gotofffuncdesc-static.s | ||
fdpic-gotofffuncdesci20-shared.d | ||
fdpic-gotofffuncdesci20-shared.s | ||
fdpic-gotofffuncdesci20-static.d | ||
fdpic-gotofffuncdesci20-static.s | ||
fdpic-gotoffi20-shared.d | ||
fdpic-gotoffi20-shared.s | ||
fdpic-gotoffi20-static.d | ||
fdpic-gotoffi20-static.s | ||
fdpic-plt-be.d | ||
fdpic-plt-le.d | ||
fdpic-plt.s | ||
fdpic-plti20-be.d | ||
fdpic-plti20-le.d | ||
fdpic-stack-default.d | ||
fdpic-stack-set.d | ||
fdpic-stack-size.d | ||
fdpic-stack.s | ||
ld-r-1.d | ||
ldr1.s | ||
ldr2.s | ||
rd-sh.exp | ||
refdbg-0-dso.d | ||
refdbg-1.d | ||
refdbg.s | ||
refdbglib.s | ||
reloc1.d | ||
reloc1.s | ||
sh-vxworks.exp | ||
sh.exp | ||
sh1.s | ||
sh2.c | ||
shared-1.d | ||
shared-2.d | ||
start.s | ||
sub2l-1.d | ||
sub2l.s | ||
textrel1.s | ||
textrel2.s | ||
tlsbin-0-dso.d | ||
tlsbin-1.d | ||
tlsbin-2.d | ||
tlsbin-3.d | ||
tlsbin-4.d | ||
tlsbin.s | ||
tlsbinpic.s | ||
tlslib.s | ||
tlspic-1.d | ||
tlspic-2.d | ||
tlspic-3.d | ||
tlspic-4.d | ||
tlspic1.s | ||
tlspic2.s | ||
tlstpoff-1.d | ||
tlstpoff-2.d | ||
tlstpoff1.s | ||
tlstpoff2.s | ||
vxworks1-le.dd | ||
vxworks1-lib-le.dd | ||
vxworks1-lib.dd | ||
vxworks1-lib.nd | ||
vxworks1-lib.rd | ||
vxworks1-lib.s | ||
vxworks1-lib.td | ||
vxworks1-static.d | ||
vxworks1.dd | ||
vxworks1.ld | ||
vxworks1.rd | ||
vxworks1.s | ||
vxworks2-static.sd | ||
vxworks2.s | ||
vxworks2.sd | ||
vxworks3-le.dd | ||
vxworks3-lib-le.dd | ||
vxworks3-lib.dd | ||
vxworks3-lib.s | ||
vxworks3.dd | ||
vxworks3.s | ||
vxworks4.d | ||
vxworks4a.s | ||
vxworks4b.s | ||
weak1.d | ||
weak1.s |