Age | Commit message (Collapse) | Author | Files | Lines |
|
when generating relocatable objects.
|
|
|
|
* ldmain.c (main): Initialize link_info.shared to false. Give
error if link_info.relocateable and link_info.shared are both set.
|
|
it as naming an emulation to be added to EMULATION_OFILES.
* config/i386-linux.mt (EMUL_EXTRA1): Define as elf_i386.
|
|
(ALL_EMULATIONS): Add ei386linux.o, eelf32_sparc.o,
eelf64_sparc.o. Remove $(OTHER_EMULATIONS).
(ei386linux.c, eelf32_sparc.c, eelf64_sparc.c): New targets.
* config/i386-linux.mt (OTHER_EMULATIONS): Don't define.
(ei386linux.c): Remove; now in Makefile.in.
* config/i386-lynx.mt (OTHER_EMULATIONS): Don't define.
* config/m68k-lynx.mt (OTHER_EMULATIONS): Don't define.
* config/sparc-lynx.mt (OTHER_EMULATIONS): Don't define.
* config/sparc64-elf.mt (OTHER_EMULATIONS): Don't define.
(eelf64_sparc.c): Remove; now in Makefile.in.
* config/sun4sol2.mt (OTHER_EMULATIONS): Don't define.
(eelf32_sparc.c): Remove; now in Makefile.in.
|
|
* emultempl/linux.em: New file providing support for linking
against Linux shared libraries.
* config/i386-linux.mt (ei386linux.c): Depend upon linux.em.
* emulparams/i386linux.sh (TEMPLATE_NAME): Define as linux.
|
|
no owner--it might be bfd_abs_section. From Eric Youngdale
<ericy@cais.cais.com>.
|
|
boundaries.
|
|
(ld_emulation_xfer_type): Add new field open_dynamic_archive.
* ldemul.c: Include ldexp.h and ldlang.h.
(ldemul_open_dynamic_archive): New function.
* ldfile.h (ldfile_open_file_search): Declare.
* ldfile.c: Include ldemul.h.
(try_open_bfd): Rename from cache_bfd_openr. Return boolean
argument, not bfd *. Change all callers.
(ldfile_open_file_search): Rename from open_a. Return boolean
argument, not bfd *. Clean up. Change all callers.
(ldfile_open_file): If doing a dynamic link, call
ldemul_open_dynamic_archive rather than assuming the extension of
a dynamic object is ".so".
* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
New function.
(ld_${EMULATION_NAME}_emulation): Initialize open_dynamic_archive
field.
* emultempl/sunos.em (ld_${EMULATION_NAME}_emulation): Likewise.
|
|
|
|
-non_shared.
|
|
* lexsup.c (parse_args): Ignore -qmagic for Linux compatibility.
|
|
* ld.h (args_type): Add new field interpreter.
* lexsup.c (parse_args): Add dynamic-linker to longopts, and
handle it.
* ldmain.c (main): Initialize command_line.interpreter to NULL.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Get
the ELF backend to return the .interp section. If
command_line.interpreter is not NULL, set the contents of .interp
to it.
* ld.texinfo: Mention -dynamic-linker.
|
|
generic.em.
|
|
definitions to make it easier to add a new option.
|
|
_etext and _edata.
|
|
|
|
* lexsup.c (parse_args): Add traditional_format to longopts, and
handle it.
* ldmain.c (main): Initialize config.traditional_format to false.
* ldlang.c (ldlang_open_output): Set BFD_TRADITIONAL_FORMAT in BFD
flags of output_bfd according to config.traditional_format.
* ld.texinfo: Document -traditional-format.
|
|
they are encountered.
|
|
* emulparams/i386linux.sh (TEXT_START_ADDR): Define as 0x1000.
(NONPAGED_TEXT_START_ADDR): Define as 0x20.
|
|
_FTEXT, _ETEXT and _FDATA. Dont define _END.
|
|
the current directory before searching for it.
|
|
|
|
BLOCK works in a section address as documented.
|
|
|
|
|
|
|
|
|
|
ldfile_add_library_path.
* emultempl/gld960c.em, emultempl/lnk960.em: Likewise.
|
|
link.
|
|
|
|
test doesn't trigger a rebuild of the linker.
|
|
init_os if it hasn't already been called.
|
|
|
|
|
|
|
|
* aout.sc: Don't define __DYNAMIC here. Add new sections used by
shared library support code.
* emultempl/sunos.em: New file.
* emulparams/sun4.sh (TEMPLATE_NAME): Define as sunos.
* Makefile.in (esun4.c): Depend upon sunos.em, not generic.em.
|
|
(lang_for_each_input_file): New function.
* ldlang.h (lang_for_each_input_file): Declare.
|
|
field.
(search_head): Declare.
(ldfile_add_library_path): Add new cmdline argument in prototype.
* ldfile.c (search_head): Make non-static.
(search_dirs_type): Move to ldfile.h.
(ldfile_add_library_path): Accept cmdline argument, and save it.
* lexsup.c (parse_args): Pass true for new cmdline argument of
ldfile_add_library_path.
(set_default_dirlist): Likewise.
* ldmain.c (check_for_scripts_dir): Pass false for new cmdline
argument of ldfile_add_library_path.
* ldgram.y (ifile_p1): Likewise.
|
|
total_size, superfile and chain.
* ldfile.c (open_a): Don't clear search_dirs_flag.
(ldfile_open_file): Don't try to open superfile. Assert that file
has not already been opened.
* ldlang.c (new_afile): Don't initialize superfile.
* ldmain.c (add_archive_element): Don't initialize subfiles or
chain or superfile. Initialize search_dirs_flag to false.
|
|
|
|
(lang_add_entry): Add cmdline argument.
* ldlang.h (lang_add_entry): Change prototype.
* ldgram.y (statement_anywhere): Change lang_add_entry call.
* lexsup.c (parse_args): Likewise.
|
|
not been set already.
|
|
.reginfo an address.
(OTHER_READWRITE_SECTIONS): Don't give .lit4 or .lit8 an address.
(OTHER_SECTIONS): Define for .gptab.sdata and .gptab.sbss.
* scripttempl/elf.sc: Use OTHER_SECTIONS at end of script.
|
|
|
|
* 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.
|
|
|
|
calls with perror calls.
|
|
.hppa_linker_stubs to .PARISC.stubs.
* scripttempl/hppaelf.sc: Likewise.
|
|
output section'' message slightly.
(lang_do_assignments): Don't recurse down if there is no real
section.
|