* 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.
44 lines
1.2 KiB
Text
44 lines
1.2 KiB
Text
# .Sanitize for devo/ld/config
|
|
|
|
# Each directory to survive its way into a release will need a file
|
|
# like this one called "./.Sanitize". All keyword lines must exist,
|
|
# and must exist in the order specified by this file. Each directory
|
|
# in the tree will be processed, top down, in the following order.
|
|
|
|
# Hash started lines like this one are comments and will be deleted
|
|
# before anything else is done. Blank lines will also be squashed
|
|
# out.
|
|
|
|
# The lines between the "Do-first:" line and the "Things-to-keep:"
|
|
# line are executed as a /bin/sh shell script before anything else is
|
|
# done in this directory.
|
|
|
|
Do-first:
|
|
|
|
|
|
# All files listed between the "Things-to-keep:" line and the
|
|
# "Do-last:" line will be kept. All other files will be removed.
|
|
# Directories listed in this section will have their own Sanitize
|
|
# called. Directories not listed will be removed in their entirety
|
|
# with rm -rf.
|
|
|
|
Things-to-keep:
|
|
|
|
README
|
|
elf32.em
|
|
generic.em
|
|
gld960.em
|
|
gld960c.em
|
|
hppaelf.em
|
|
lnk960.em
|
|
m88kbcs.em
|
|
vanilla.em
|
|
|
|
Things-to-lose:
|
|
|
|
# The lines between the "Do-last:" line and the end of the file
|
|
# are executed as a /bin/sh shell script after everything else is
|
|
# done.
|
|
|
|
Do-last:
|
|
|