Age | Commit message (Collapse) | Author | Files | Lines |
|
the output. Put .got.plt sections into .got.
|
|
Add a new script operator, PROVIDE, to define a symbol only if it
is needed.
* ldgram.y (PROVIDE): New token.
(assignment): Accept PROVIDE.
* ldlex.l (PROVIDE): New token.
* ldexp.h (node_type): Add etree_provide to node_class enum.
(exp_provide): Declare.
* ldexp.c (exp_fold_tree): Handle etree_provide.
(exp_provide): New function.
(exp_print_tree): Handle etree_provide.
* ld.texinfo: Document PROVIDE.
|
|
lang_one_common as power of two.
(lang_one_common): Get common symbol alignment from linker hash
table entry. Treat desired alignment as a power of two.
|
|
not just the first one. If there is no name, attach all sections
even if the SEC_IS_COMMON flag is set.
|
|
* lexsup.c (S_ISDIR): Define if not already defined.
(parse_args): Add support for -rpath. If -R is used to name a
directory, treat it as -rpath for Solaris compatibility.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
Pass command_line.rpath to bfd_elf32_size_dynamic_sections.
* ldmain.c (main): Initialize command_line.rpath to NULL.
* ld.texinfo: Document -rpath option.
|
|
|
|
no_argument to required_argument. From djm.
|
|
it was for the HPUX dynamic loader's use and it creates problems
with ELF GDB.
|
|
|
|
|
|
|
|
accept plain -B.
* ld.texinfo: -Bstatic is not ignored.
|
|
(ldemul-list.h): Construct.
* mpw-make.in (install-only): New target.
(install): Depend on install-only.
|
|
generic config.
|
|
|
|
|
|
synonyms --start-group --end-group.
* ldlang.h (enum statement_enum): Add lang_group_statement_enum.
(lang_group_statement_type): Define new struct.
(lang_statement_union_type): Add group_statement field.
(lang_enter_group, lang_leave_group): Declare.
* ldlang.c (lang_for_each_statement_worker): Handle
lang_group_statement_enum.
(map_input_to_output_sections, print_statement): Likewise.
(lang_size_sections, lang_do_assignments): Likewise.
(open_input_bfds): Completely rewrite. Now does its own looping,
rather than using lang_for_each_statement. Handle groups.
(lang_process): Update call to open_input_bfds.
(print_group): New static function.
(lang_enter_group, lang_leave_group): New static functions.
* ldfile.c (ldfile_open_file): If the file has already been
opened, just return rather than taking an assertion failure.
* ldver.c (help): Mention new options.
* ld.texinfo: Document new options.
|
|
(lang_leave_output_section_statement): Don't set obsolete variable
end_of_data_section_statement_list.
|
|
ALIGN.
|
|
even for sections with an explicit address. From
ralphc@pyramid.com (Ralph Campbell).
|
|
From jrs@world.std.com (Rick Sladkey).
|
|
boundaries.
|
|
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.
|
|
|
|
|
|
|
|
|