-print-libgcc-file-name through sed.
(i[345]86*-*-sco*, i[345]86-*-isc*): Create crtbegin.o and
crtend.o files, in case gcc doesn't use them.
* Makefile.in (mostlyclean): Remove crtbegin.o and crtend.o.
* ldlang.h (enum section_type): Define.
(lang_output_section_statement_type): Remove loadable field. Add
sectype field.
(lang_enter_output_section_statement): Change flags parameter in
prototype to sectype.
* ldgram.y (typebits): Remove.
(sectype): New static variable.
(opt_at): Use sectype rather than typebits.
(type): Set sectype rather than typebits.
(atype): Likewise.
* ldlex.l: Recognize DSECT, COPY, INFO, and OVERLAY in
EXPRESSION mode.
* ldlang.c (lang_output_section_statement_lookup): Set sectype
field rather than loadable field.
(wild_doit): Check sectype rather than loadable.
(lang_record_phdrs): Likewise.
(lang_enter_output_section_statement): Rename flags parameter to
sectype. Set sectype field rather than loadable field. Set flags
field based on sectype.
* configure.tgt (alpha-*-linuxecoff*): New target.
(alpha-*-linux*): Use elf64alpha.
* emulparams/elf64alpha.sh: New file.
* emultempl/elf32.em: If ELFSIZE is not set, set it to 32. Use
${ELFSIZE} rather than 32 when calling BFD routines.
(hold_rodata): New static variable.
(gld${EMULATION_NAME}_place_orphan): Use hold_rodata for a
readonly section that is not code.
(gld${EMULATION_NAME}_place_section): Set hold_rodata. Don't use
a .rel section unless its bfd_section field is not NULL.
* Makefile.in (ALL_EMULATIONS): Add eelf64alpha.o.
(eelf64alpha.c): New target.
* ldlex.l: Recognize BLOCK and GROUP in EXPRESSION context. Add
BIND keyword.
* ldgram.y: Add BIND token.
(section): Recognize GROUP.
(opt_ext_with_type): Recognize a couple of cases of BIND.
* ldlang.c (init_os): Don't do anything if section is already
initialized. Call exp_init_os on addr_tree field.
(exp_init_os): New static function.
(map_input_to_output_sections): Call exp_init_os on assignment
expression.
(lang_place_orphans): Check for common sections by name COMMON
rather than by common_section field. Don't warn about absence of
[COMMON] command.
(gld${EMULATION_NAME}_set_symbols): New static function to add
LD_LIBRARY_PATH to the list of search directories.
(ld_${EMULATION_NAME}_emulation): Add new set_symbols routine.
if final link.
* emultempl/pe.em (sfunc): Renamed to sort_by_file_name.
(sort_by_section_name, sort_sections_1): New functions.
(sort_sections): Only sort by file name sections in .idata.
Add "Grouped Sections" support.
(gld${EMULATION_NAME}_place_orphan): Rewrite to support Grouped
Sections.
(gld${EMULATION_NAME}_place_section): Delete.
* scripttempl/pe.sc (.text,.data,.rdata): Add *(.foo\$).
(.CRT,.rsrc): Rewrite to use Grouped Section support.
Set a new variable to signify if the final target is an embedded
system.
* scripttempl/{mips.sc,elfmips.sc}: Don't add SIZEOF_HEADERS to
.text for an embedded system.
(SECTION_NAME_MAP_LENGTH): Define.
(print_size, print_alignment, print_fill, print_section): Remove.
(print_flags): Remove.
(lang_map): Rewrite.
(print_output_section_statement): Rewrite.
(print_assignment): Rewrite.
(print_one_symbol): Rewrite.
(print_input_section): Rewrite.
(print_fill_statement): Rewrite.
(print_data_statement): Rewrite.
(print_address_statement): New static function.
(print_reloc_statement): Rewrite.
(print_padding_statement): Rewrite.
(print_wild_statement): Rewrite.
(print_statement_list): Clean up.
(print_statement): Clean up. Some minor output changes.
(print_statements): Clean up.
(load_symbols): Put another - before -whole-archive.
* ldexp.c (exp_print_tree): Change etree_value and etree_rel to
print 0x and to omit leading zeroes. For etree_rel, use %B to
print the BFD. For etree_assign, remove the space after the
destination name.
* ldwrite.c: Include "libiberty.h".
(clone_section): Call xstrdup, not strdup.
(ldwrite): Don't print any map information.
(print_symbol_table, print_file_stuff, print_symbol): Remove.
* ldmain.c (main): Call lang_map when appropriate.
* ldmisc.c (vfinfo): Add support for %W.
(print_address): Remove.
* ldmisc.h (print_address): Don't declare.
* Makefile.in: Rebuild dependencies.
* configure.host (m68*-*-linux*): Add -dynamic-linker to
HOSTING_CRT0. Search -lgcc both before and after -lc in
HOSTING_LIBS. Look for crt{begin,end}.o in the compiler directory
at first.
(i[345]86-*-linux*): Look for crt{begin,end}.o in the compiler
directory at first.
* ldmisc.c: Include "libiberty.h". Include demangle.h with "",
not <>.
(demangle): Make non-static. Remove remove_underscore paramter.
Always return an allocated string.
(vfinfo): Free result of demangle. Add case 'G'. Use %T to print
functionname, rather than calling demangle. Print a colon between
the BFD(section+offset) and the line number.
* ldmain.c (add_archive_element): Improve format of archive
information in map file.
(constructor_callback): Don't print anything to the map file.
* ldlang.c (lang_one_common): Improve format of common symbol
information in map file.
* ldctor.c (ldctor_build_sets): If producing a map file, print set
information.
* ldwrite.c (print_symbol_table): Print a newline before the
header in the map file.
* Makefile.in: Rebuild dependencies.
static function, if ${host} = ${target}.
(gld${EMULATION_NAME}_after_open): Call check_ld_so_conf to find a
needed shared library if ${host} = $[target}.
* emulparams/elf32{b,l}4300.sh (MACHINE): Add explicit
architecture number.
* scripttempl/elf.sc: Use $MACHINE definition if present.
* configure.tgt (targ_extra_emuls): Force 4100 build to use same
template as 4300.
(wild_doit): Discard sections with SEC_EXCLUDE set if not doing a
relocateable link. Don't worry about section being NULL, since it
never should be. Don't call init_os unless the section is going
to be added.
(ldlang_add_file): Call section_already_linked for each section.
* ldmain.c (multiple_definition): Don't warn about multiple
definitions in sections which are being discarded.
* ldlang.c (init_os): Fail on an attempt to initialize any section
named DISCARD_SECTION_NAME.
(wild_doit): Discard input sections assigned to an output section
named DISCARD_SECTION_NAME.
* ld.texinfo: Document use of /DISCARD/.
from "null" to "vectors". Create an output section for
vectors. Add comments on how to explicitly place items
in the vector table.
* scripttempl/h8300h.sc: Likewise.
hmse
* ldmain.c (main): Initialize link_info.wrap_hash.
* ldexp.c (fold_name): Use bfd_wrapped_link_hash_lookup in DEFINED
and NAME cases.
* ld.texinfo, ld.1: Document --wrap.
(ldemulation_xfer_type): Add unrecognized_file field.
* ldemul.c (ldemul_unrecognized_file): New function.
* ldlang.c (load_symbols): If a file can not be recognized, call
ldemul_unrecognized_file before trying it as a linker script.
* aix.em (gld${EMULATION_NAME}_unrecognized_file): New static
function.
(gld${EMULATION_NAME}_read_file): Use FOPEN_RT, not "r".
(ld_${EMULATION_NAME}_emulation): Initialize unrecognized_file.
* configure.tgt (m68k-*-linuxaout*, m68k-*-linux*): New targets.
* emulparams/m68klinux.sh: New file.
* emultempl/linux.em (gld${EMULATION_NAME}_before_allocation):
Call bfd_${EMULATION_NAME}_size_dynamic_sections instead of
bfd_linux_size_dynamic_sections.
* Makefile.in (ALL_EMULATIONS): Add em68klinux.o.
(em68klinux.c): New target.
* configure.host (m68*-*-linuxaout*, m68*-*-linux*): New hosts.
Tue Feb 27 12:55:46 1996 Ian Lance Taylor <ian@cygnus.com>
* Makefile.in (ALL_EMULATIONS): Sort into alphabetical order.
Fill in missing entries.
* ldlang.h (lang_input_statement_type): Add whole_archive field.
* ldlang.c (new_afile): Set whole_archive field.
(load_symbols): Check input file specific whole_archive field
rather than global variable.
* ld.texinfo, ld.1: Document --no-whole-archive.
PR 9094.
the SONAME if it is available.
(gld${EMULATION_NAME}_stat_needed): Use the SONAME, not the
filename, when checking for conflicting library versions. Don't
assume that the suffix is only numbers and dots.
* configure: Rebuild.
* configure.host: Set RPATH_ENVVAR.
* Makefile.in (RPATH_ENVVAR): New variable.
(check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH.
Wed Feb 14 18:49:01 1996 Alan Modra <alan@spri.levels.unisa.edu.au>
* configure.in: Redo emulation handling so that each emulation
searches the correct tool directory, based on the target alias.
For example, "configure --enable-targets=m68k-coff i386-linux"
will search /usr/local/i386-linux/lib for linux and
/usr/local/m68k-coff/lib for m68k-coff.
* configure: Rebuild.
* configure.tgt: Add special tdir settings for Linux.
* Makefile.in: Add @TDIRS@. Pass "$(tdir_EMUL)" to ${GENSCRIPTS}
for each eEMUL.c target.
* genscripts.sh: Accept specific alias as 9th argument, and use it
in LIB_PATH.
BFDLIB when linking against a shared library on SunOS.
* configure: Rebuild.
* configure.host: If using a shared BFD library, try to pass a
reasonable -rpath option when linking.
* Makefile.in (BFDLIB): Set to @BFDLIB@.
patches from Alan Modra <alan@spri.levels.unisa.edu.au>:
* configure.in (HLDFLAGS): New substitution.
* configure: Rebuild.
* configure.host: Set HLDFLAGS on SunOS.
* Makefile.in (HLDFLAGS): New variable.
(BFDDEP): New variable.
(BFDLIB): Change to -L../bfd -lbfd.
($(LD_PROG)): Depend upon $(BFDDEP) rathern than $(BFDLIB). Use
$(HLDFLAGS) in link.
(check): Set LD_LIBRARY_PATH in the environment.
* Makefile.in (GENSCRIPTS): Pass @host@ @target@ @target_alias@.
* genscripts.sh: Set host, target and target_alias variables.
Check for native compile by comparing ${target} and ${host}.
* emultempl/elf32.em: Likewise.
* scripttempl/elfmips.sc: Test ${target}, not ${target_alias}.
(phdr): Use phdr_qualifiers rather than opt_hdrs and opt_at.
(phdr_qualifiers): New nonterminal. Add support for FLAGS.
(opt_hdrs, hdr): Remove.
(phdr_val): New nonterminal.
* ldlang.c (lang_new_phdr): Replace hdrs parameter with filehdr
and phdrs parameters. Add flags parameter.
(lang_record_phdrs): Update for changes to lang_phdr. Pass flags
to bfd_record_phdr.
* ldlang.h (struct lang_phdr): Replace hdrs field with filehdr and
phdrs fields. Add flags field.
(LANG_PHDR_FILEHDR, LANG_PHDR_PHDRS): Remove.
(lang_new_phdr): Update declaration.
* ld.texinfo: Document FLAGS.
ANSI_PROTOTYPES is defined. Remove special handling of
WINDOWS_NT. Various indendation fixes.
(vfinfo): Change fmt parameter to const char *.
(info_msg): Write <stdarg.h> version.
(einfo, minfo, finfo): Likewise.
(info_assert): Change file parameter to const char *.
* ldmisc.h (einfo, minfo, info_msg): If ANSI_PROTOTYPES is
defined, use a real prototype.
(info_assert): Change first parameter to be const char *.
mips-idt-ecoff.
* mpw-eppcmac.c: Shortened from mpw-eppcmacos.c.
* mpw-ld.r: Add version resources.
(cfrg): Use symbolic instead of literal name for executable.
(gld${EMULATION_NAME}_parse_args): Handle -unix.
(gld${EMULATION_NAME}_before_allocation): If unix_ld, pass
gc as false and export_defineds as true to size_dynamic_sections.
PR 8606.
(print_statement_list): Renamed from print_statement. All callers
updated.
(print_statement): New function to print just one statement.
(print_{data,reloc,padding}_statement): Don't crash if
output_section == NULL.
(dprint_statement): New function.
* configure.host (m68*-motorola-sysv): Define HOSTING_CRT0 and
HOSTING_LIBS for testing.
(m88*-motorola-sysv3): Define HOSTING_CRT0 and HOSTING_LIBS for
testing.
environment variable LD_RUN_PATH if neither -rpath nor -rpath-link
were used.
(gld${EMULATION_NAME}_before_allocation): Use the environment
variable LD_RUN_PATH if -rpath was not used.
* ld.texinfo, ld.1: Document LD_RUN_PATH.
PR 8428.
new local variable special_sections, and pass it to
size_dynamic_sections. Look through the results, and move the
sections around in the mapping so that they are defined correctly.
(import_files): Make static.
(struct export_symbol_list): Define.
(export_symbols): New static variable.
(gld${EMULATION_NAME}_parse_args): Handle an initial -b option
correctly. Call read_file for an export file.
(gld${EMULATION_NAME}_before_allocation): Call
bfd_xcoff_export_symbol for each export symbol, rather than
calling read_file for each export file.
(gld${EMULATION_NAME}_read_file): For an export file, make the
exported symbols undefined, and store them on the export_symbols
list.
* emultempl/pe.em (gld_${EMULATION_NAME}_parse_args):
Don't hang if last option is unrecognised.
(gld_${EMULATION_NAME}_set_symbols): Insert created
symbols into ABS output section.
m68k4k arch.
(em68k4knbsd.c): New rule.
* configure.tgt: Added support for the NetBSD m68k4k arch.
* genscripts.sh, ldint.texinfo,
emulparams/{a29k,armaoutb,armaoutl,coff_sparc,ebmon29k,gld960,
gld960coff,go32,h8300,h8300h,h8500,h8500b,h8500c,h8500m,h8500s,
hp300bsd,hp3hpux,hppaelf.sh,i386aout,i386bsd,i386coff,i386go32,
i386linux,i386lynx,i386nbsd,lnk960,m68kaout,m68kcoff,m68klynx,
m88kbcs,mipsbig,mipsbsd,mipsidt,mipsidtl,mipslit,news,ns32knbsd,
pc532machaout,rce,riscix,sa29200,sh,shl,sparclynx,sparcnbsd,
st2000,sun3,sun4,vanilla,vax,vsta,w65,z8001,z8002}.sh: Changed
PAGE_SIZE to TARGET_PAGE_SIZE.
* emulparams/m68knbsd.h: Ditto.
(TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR): We have 8K pagesize.
(EXECUTABLE_SYMBOLS): Hardcode __DYNAMIC to zero for the time
being.
* emulparams/m68k4knbsd.sh: New file.
* scripttempl/aout.sc: Expand EXECUTABLE_SYMBOLS if relocating.
(gld${EMULATION_NAME}_after_open): New static function.
(gld${EMULATION_NAME}_before_allocation): Call find_relocs.
(gld${EMULATION_NAME}_find_relocs): New static function.
(gld${EMULATION_NAME}_find_exp_assignment): New static function.
(ld_${EMULATION_NAME}_emulation): Use new after_open function.
* scripttempl/aix.sc: Use CONSTRUCTORS in .data.
* ldctor.c (struct set_info): Move definition into ldctor.h.
(struct set_element): Likewise.
(sets): Make non-static.
(ldctor_add_set_entry): Add name parameter. Save it in the new
set element.
(ldctor_build_sets): Avoid being called twice. Pass set element
name to lang_add_reloc.
* ldctor.h (struct set_info): Move definition here from ldctor.c.
(struct set_element): Likewise. Add new field name.
(sets): Declare.
(ldctor_add_set_entry): Declare new name parameter.
* ldwrite.c (build_link_order): Don't insist that either name or
section be NULL in a lang_reloc_statement.
* ldmain.c (add_to_set): Pass NULL to ldctor_add_new_set_entry for
new name parameter.
(constructor_callback): Pass name to ldctor_add_new_set_entry for
new name parameter.
* mac-ld.r: New file, Mac resources.
* mpw-make.sed: New file, edits Makefile.in into MPW syntax.
* mpw-make.in: Remove.
* mpw-eppcmacos.c: Prebuilt version of PowerMac linking script.
directory searching code into gld${EMULATION_NAME}_search_dir.
(gld${EMULATION_NAME}_search_dir): New static function, extracted
from gld${EMULATION_NAME}_find_so.
(global_needed, global_found): New static variables.
(gld${EMULATION_NAME}_after_open): New static function.
(gld${EMULATION_NAME}_search_needed): New static function.
(gld${EMULATION_NAME}_try_needed): New static function.
(gld${EMULATION_NAME}_check_needed): New static function.
(ld_${EMULATION_NAME}_emulation): Use new after_open function.
* ld.texinfo, ld.1: Mention -rpath-link on SunOS.
(rs6000-*-aix*): New target; use aixrs6.
* emulparams/aixppc.sh, emulparams/aixrs6.sh: New files.
* emultempl/aix.em: New file.
* scripttempl/aix.sc: New file.
* Makefile.in (ALL_EMULATIONS): Add eaixppc.o and eaixrs6.o.
(eaixppc.c, eaixrs6.c): New targets.
* ldexp.h (exp_get_abs_int): Update declaration.
* ldlang.c (print_output_section_statement): Use fprintf_vma to
print return value of exp_get_abs_int.
PR 8142.
(gld${EMULATION_NAME}_try_needed): Call stat_needed to make sure
that the file has not already been included under another name.
(gld${EMULATION_NAME}_stat_needed): New static function.
pure-text. Pass true, not 1, to lang_add_entry.
* emultempl/sunos.em (find_assign): New static variable.
(found_assign): New static variable.
(gld${EMULATION_NAME}_before_allocation): Rename local h to hdyn.
If not a relocateable link, and no start symbol was specified on
the command line, and there are any undefined symbols, set
link_info.shared. If link_info.shared is set, set the address of
the .text section to 0x20.
(gld${EMULATION_NAME}_find_assignment): Rename from
gld${EMULATION_NAME}_find_statement_assignment. If find_assign is
set, then just set found_assign based on whether an assignment is
found to find_assign.
(gld${EMULATION_NAME}_get_script): Don't use a special script when
producing a shared library.
* emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Remove.
* scripttempl/aout.sc: Remove CREATE_SHLIB tests.
* ldlang.c (entry_from_cmdline): New global variable.
(lang_add_entry): Change cmdline parameter from int to boolean.
Use global entry_from_cmdline rather than function static
from_cmdline.
* ldlang.h (entry_from_cmdline): Declare.
(lang_add_entry): Change declaration of second parameter from int
to boolean.
* ldgram.y: Pass false, not 0, to lang_add_entry.
* ldlex.h (lex_string): Declare.
* ldlex.l (lex_string): Define.
* lexsup.c (parsing_defsym): Define.
(parse_args): In OPTION_DEFSYM case, set lex_string before calling
lex_redirect, and clear it after calling yyparse. Set
parsing_defsym around call to yyparse.
* ldmain.c (main): Set lex_string before calling lex_redirect, and
clear it after calling yyparse.
* ldmisc.c (vfinfo): For %S, handle --defsym arguments and built
in linker scripts correctly.
PR 8092.
* emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Define.
* emultempl/sunos.em (gld${EMULATION_NAME}_get_script): Use the
shared library script when appropriate.
* scripttempl/aout.sc: If CREATE_SHLIB is set, start the .text
section at SIZEOF_HEADERS.
(warning_callback): Add new parameter symbol. Call
warning_find_reloc to try to find the section and VMA.
(warning_find_reloc): New static function.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
Pass NULL as symbol parameter to warning callback.
* configure.tgt: Add i386lelf to targ_extra_emuls for
i[345]86-*-linuxaout* and i[345]86-*-linuxoldld. For
i[345]86-*-linux*, set targ_emul to i386lelf, and add elf_i386 to
targ_extra_emuls.
* emulparams/i386lelf.sh: New file, a copy of elf_i386.sh.
* emultempl/elf32.em: If TARGET_IS_i386lelf, use autoconf
recommended mechanism to define DIR and struct dirent.
(libcmp): New static function use only when TARGET_IS_i386lelf.
(gld${EMULATION_NAME}_open_dynamic_archive): Likewise.
* Makefile.in (ALL_EMULATIONS): Add ei386lelf.o
(ei386lelf.c): New target.
* configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
Check for config.h:config.in when creating stamp-h.
* configure: Rebuild.
* Makefile.in (stamp-h): Depend upon config.in rather than
config.h.in. Set CONFIG_HEADERS to config.h:config.in when
calling config.status.
parameters.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
Change call to warning accordingly.
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): If not
relocateable and not shared, put .gnu.warning.SYMBOL sections into
the .text section.
* emultempl/{armpe.sc, i386pe.sc}: Deleted.
* emultempl/pe.sc: New file performs generic PE support and sorts
archive members.
* emulparams/{armpe.sh,i386pe.sh}: Use new file.
* scripttempl/{armpe.sc, i386pe.sc}: Deleted
* scripttempl/pe.sc: New.
* Makefile.in: Use new files.
b
* scripttempl/armpe.sc: Always start code at 0x401000, even
if -r.
* ldwrite.c (strdup): New extern declaration.
* ldgram.y (atype): New rule to clarify type parsing.
* ldlang.c (init_os): Remove commented out code.
(lang_size_sections): Set SEC_ALLOC and SEC_LOAD bits
unless told not to by the link script.
(CASE, EXTERN, START): New tokens.
(mri_script_command): Handle CASE, EXTERN, INCLUDE, START.
(casesymlist): New nonterminal.
(extern_name_list): New nonterminal.
* ldlex.l: Accept lower case trailing base specifiers. Don't
ignore the first digit when the base is a suffix. Accept many
EXPRESSION state tokens in MRI state. Support MRI continuation
lines and MRI semicolon comments. Accept all MRI keywords in
lower case. Add CASE, EXTERN, and START MRI keywords.
declaration.
(ld_emulation_xfer_type): Add search parameter to
open_dynamic_archive entry point.
* ldemul.c (ldemul_open_dynamic_archive): Add search parameter.
* ldfile.c (ldfile_try_open_bfd): Rename from try_open_bfd, and
make non-static. Change all callers to use new name.
(ldfile_open_file_search): Make static. If entry is dynamic, call
ldemul_open_dynamic_archive.
(ldfile_open_file): Don't call ldemul_open_dynamic_archive.
* ldfile.h (ldfile_open_file_search): Don't declare.
(ldfile_try_open_bfd): Declare.
* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
Accept search parameter. Don't search for a library, just look in
a single place.
* emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
Likewise.
* ldlang.h (lang_input_statement_type): Add new field dynamic.
* ldlang.c (new_afile): Set dynamic from config.dynamic_link.
* ldfile.c: Include bfdlink.h.
(ldfile_open_file): Check dynamic field of entry, not global
dynamic_link field. Don't do a dynamic search when doing a
relocateable link.
* ldmain.c (main): Don't warn about dynamic_link for a
relocateable link.
* emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Skip file if
dynamic is false.
(gld${EMULATION_NAME}_create_output_section_statements): Always
loop over input files.
* Makefile.in: Rebuild dependencies.
* ldmain.c (main): Always initialize PE info in link_info.
* lexsup.c (OPTION_BASE_FILE): New option.
(parse_args): Handle new option.
* emulparams/armpe.sh: Output pei.
* emultempl/i386pe.em: Add newline to end.
* scripttempl/armpe.sc: Change output and quote the $s.
* scripttempl/i386pe.sc: Change output and quote the $s.
* configure.in: Change linux to default to elf. Using
i[345]86-*-linuxaout will build a linker which defaults to a.out.
* config/i386-laout.mt: Rename from old config/i386-linux.mt.
* config/i386-linux.mt: Rename from old config/i386-lelf.mt.
* config/i386-lelf.mt: Remove.
describes an archive, call bfd_link_add_symbols on each member.
* ldmain.c (whole_archive): New variable.
(main): Initialize it to false.
* ldmain.h: Declare whole_archive.
* lexsup.c (parse_args): Grok --whole-archive switch.
* ldgram.y: Add token LNAME.
(input_list): Treat LNAME like NAME, but pass it to
lang_add_input_file as lang_input_file_is_l_enum.
* ld.texinfo: Document using -lFILENAME in INPUT.
(gld${EMULATION_NAME}_place_orphan): Place readonly sections with
contents whose names begin with ".rel" after hold_rel. Remove the
assertion which checked for unplaced .rel sections. Don't try to
sort the section into place if place->bfd_section is NULL.
(gld${EMULATION_NAME}_place_section): Set hold_rel to the first
section beginning with ".rel".
an internal linker script, print out the script.
* ldfile.c (try_open): Reindent function. Make the messages about
opening script files more informative.
PR 6309.
a MIPS target, clobber the size of all but the first input
.reginfo section to be 0, so that lang_size_sections sets the
correct size for the output .reginfo section.
* config/i386linux.mh: New file; set HOSTING_CRT0.
* genscripts.sh: Don't put ${libdir} in LIB_PATH if it is
/usr/lib, since that is already in LIB_PATH.
linker scripts if place is not NULL. Put commands found in an
assumed linker script into place.
(lookup_name): Pass NULL as place argument to load_symbols.
(open_input_bfds): In lang_input_statement_enum case, pass a place
argument to load_symbols, and store any new statements after the
current one.
PR 5917.
* emulparams/vax.sh (OUTPUT_FORMAT): Use "a.out".
* scripttempl/go32coff.sc: Changes from DJ Delorie: Change default entry point
to "start". Align at end of each section to 0x200. Start .text section 0x1000
later. Add _etext, _edata, _end symbols.
composed of different object file formats.
(ldctor_build_sets): If the output format does not support the
reloc, and we are not generating a relocateable link, try getting
the reloc from the input format.
(CXX): Move definition, change from g++ to gcc.
(EXPECT, RUNTEST): Copy definitions from top level Makefile.in.
(RUNTEST_CC, RUNTEST_CFLAGS): Remove.
(RUNTEST_CXX, RUNTEST_CXXFLAGS): Remove.
(CC_FOR_TARGET, CXX_FOR_TARGET): Copy from top level Makefile.in.
(.cc.o): Comment out.
(testdir): Remove.
(site.exp): Don't create testdir or set tmpdir.
(check): Run checks even if not running native. Use CC_FOR_TARGET
instead of RUNTEST_CC, and likewise for CXX.
(cdtest targets): Comment out.
* config/solaris2.mh (HOSTING_LIBS): Only mention crtend.o once.
* cdtest-bar.cc, cdtest-foo.cc, cdtest-foo.h: Remove.
* cdtest-main.cc, cdtest.exp: Remove.
* lexsup.c (parse_args): Handle -EB and -EL by setting
command_line.endian.
* ldgram.y (ifile_p1): Accept OUTPUT_FORMAT with three arguments.
* ldlang.c (lang_add_output_format): Add arguments big and little.
If command_line.endian is set, use it to select big or little
rather than the default. Changed all callers.
* ldlang.h (lang_add_output_format): Update declaration.
* emulparams/elf32mipb.sh: Define BIG_OUTPUT_FORMAT and
LITTLE_OUTPUT_FORMAT.
* emulparams/elf32mipl.sh: Likewise.
* emulparams/mipsbig.sh: Likewise.
* emulparams/mipsbsd.sh: Likewise.
* emulparams/mipsidt.sh: Likewise.
* emulparams/mipsidtl.sh: Likewise.
* emulparams/mipslit.sh: Likewise.
* scripttempl/elf.sc: Define BIG_OUTPUT_FORMAT and
LITTLE_OUTPUT_FORMAT if not already defined. Pass them to
OUTPUT_FORMAT.
* scripttempl/mips.sc: Pass BIG_OUTPUT_FORMAT and
LITTLE_OUTPUT_FORMAT to OUTPUT_FORMAT.
* scripttempl/mipsbsd.sc: Likewise.
name. For %C, print the function name on a separate line, to keep
the length of error messages under control.
* ldmain.c (multiple_definition): Use %D for ``first defined
here.''
(undefined_symbol): Use %D for ``more undefined references
follow''.
PR 3770.
bfd_check_format_matches, and, if ambiguous, print a list of
matching formats. If file format is not recognized, treat file as
a linker script.
* ldgram.y (yyerror): If assuming an object file is a script,
mention that. Tweak the format of the error messages.
* ldlex.l (lex_warn_invalid): If assuming an object is a script,
guess that this is not actually a script, and just report that the
file format was not recognized.
* ld.texinfo (Options): Admit that -( may be used more than once.
Add note that unrecognized object files are now treated as linker
scripts.
* ldfile.c (ldfile_input_filename): Make const.
(ldfile_assumed_script): New variable.
(try_open): Change arguments types to const.
(ldfile_find_command_file): Likewise.
(ldfile_open_command_file): Likewise. Also, set lineno to 1.
* ldfile.h: Update declarations for ldfile.c changes.
* ldlex.l: Include <ctype.h>.
(file_name_stack): Change to be const char *.
(lineno_stack): New static variable.
(<<EOF>>): Set lineno as well as ldfile_input_filename.
(lex_push_file): Make name argument const. Initialize
lineno_stack entry.
(lex_redirect): Initialize lineno_stack entry.
(lex_warn_invalid): Handle non printable characters nicely.
* ldlex.h (lex_push_file): Declare second argument as const.
* ldgram.y (ifile_p1): Recognize GROUP.
* ldlex.l: Recognize GROUP.
* ld.texinfo (Option Commands): Document GROUP.
(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.