* ld.h (ld_config_type): Add field dynamic_link. * ldmain.c (main): Initialize config.dynamic_link to false. Warn on attempts to use -r with -relax, -call_shared or -s. * lexsup.c (longopts): Separate OPTION_CALL_SHARED from OPTION_NON_SHARED. Add OPTION_IGNORE. Adjust macro values accordingly. Add "dy" and "non_shared" options. Change "Qy" to OPTION_IGNORE for now. Handle OPTION_CALL_SHARED and OPTION_NON_SHARED by setting dynamic_link field accordingly. Handle OPTION_IGNORE by ignoring it. Clear dynamic_link field for -r and -Ur. * ldfile.c (ldfile_open_file): If config.dynamic_link is true, try opening a file with a .so extension first. * emultempl/elf32.em: New file. * emulparams/elf32_sparc.sh (TEXT_START_ADDR): Change to 0x10000. (NONPAGED_TEXT_START_ADDR): Likewise. (TEMPLATE_NAME): Define as elf32. (DATA_PLT): Define. * emulparams/elf_i386.sh (TEMPLATE_NAME): Define as elf32. * scripttempl/elf.sc: Add placement for new dynamic sections. Don't use CREATE_OBJECT_SYMBOLS. Define _etext, _edata and _end outside of any section. Don't use ALIGN(8); just let one section VMA follow another. Put .dynbss in .bss. Don't mention debugging sections; they'll be handled correctly anyhow. * Makefile.in (eelf_i386.c): Depend upon elf32.em, not generic.em. |
||
|---|---|---|
| .. | ||
| .Sanitize | ||
| a29k.sc | ||
| alpha.sc | ||
| delta68.sc | ||
| ebmon29k.sc | ||
| elf.sc | ||
| go32coff.sc | ||
| h8500.sc | ||
| h8500b.sc | ||
| h8500c.sc | ||
| h8500m.sc | ||
| h8500s.sc | ||
| hppaelf.sc | ||
| i386coff.sc | ||
| i386go32.sc | ||
| i386lynx.sc | ||
| i960.sc | ||
| m68klynx.sc | ||
| m88kbcs.sc | ||
| mips.sc | ||
| mipsbsd.sc | ||
| README | ||
| sa29200.sc | ||
| sh.sc | ||
| sparccoff.sc | ||
| sparclynx.sc | ||
| st2000.sc | ||
| vanilla.sc | ||
| z8ksim.sc | ||
The files in this directory are linker script templates.
genscripts.sh sets some shell variables, then sources
EMULATION.sc, to generate EMULATION.{x,xr,xu,xn,xbn} -- the script
files for default, -r, -Ur, -n, -N.