Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
* scripttempl/i386lynx.sc: Don't put .ctors and .dtors in .text
unless CONSTRUCTING.
|
|
(GENERATE_SHLIB_SCRIPT): Define as yes.
(DYNAMIC_LINK): Define as false.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_parse):
Initialize config.dynamic_link to DYNAMIC_LINK if it is defined.
(gld${EMULATION_NAME}_place_orphan): Reset stat_ptr at end.
* Makefile.in (eelf32mipb.c): Depend upon elf32.em rather than
generic.em.
|
|
|
|
.got section is now explicitly handled in elf.sc.
|
|
|
|
* scripttempl/h8300.sc: Change .stab and .stabstr to use a VMA of
0, and to only be marked as NOLOAD if relocating.
* scripttempl/h8500.sc, scripttempl/h8500b.sc: Likewise.
* scripttempl/h8500c.sc, scripttempl/h8500m.sc: Likewise.
* scripttempl/h8500s.sc, scripttempl/i386coff.sc: Likewise.
* scripttempl/i386go32.sc, scripttempl/i386lynx.sc: Likewise.
* scripttempl/m68kcoff.sc, scripttempl/m68klynx.sc: Likewise.
* scripttempl/sh.sc, scripttempl/sparccoff.sc: Likewise.
* scripttempl/sparclynx.sc: Likewise.
|
|
|
|
* lexsup.c (parse_args): Handle -soname argument.
* emultempl/elf32.em: In call to bfd_elf32_size_dynamic_sections,
pass soname.
* ld.texinfo: Document -soname.
|
|
input and output files are incompatible. Just warn.
For Synoptics.
|
|
|
|
define __start_SECNAME and __stop_SECNAME around sections whose
names can be represented in C, for the benefit of symbol sets in
glibc.
* ldemul.h (ldemul_place_orphan): Declare.
(ld_emulation_xfer_type): Add place_orphan field.
* ldemul.c (ldemul_place_orphan): New function.
* ldlang.h (wild_doit): Declare.
* ldlang.c (wild_doit): Make nonstatic.
(lang_place_orphans): Call ldemul_place_orphan.
* emultempl/elf32.em: Include <ctype.h> and "ldgram.h".
(hold_section, hold_use, hold_text, hold_data, hold_bss): New
static variables.
(gld${EMULATION_NAME}_place_orphan): New static function.
(gld${EMULATION_NAME}_place_section): New static function.
(ld_${EMULATION_NAME}_emulation): Initialize place_orphan field.
|
|
|
|
hjl@nynexst.com (H.J. Lu).
|
|
|
|
* configure.in: add i960-nindy-coff support.
|
|
interface in flex 2.4.7.
|
|
* emultempl/linux.em (gld${EMULATION_NAME}_find_address_statement):
New function; add 0x20 to any use of -Ttext.
(gld${EMULATION_NAME}_create_output_section_statements): New
function.
(ld_${EMULATION_NAME}_emulation): Use the new function
gld${EMULATION_NAME}_create_output_section_statements.
|
|
and not bother to explicitly specify section addresses.
|
|
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.
|