Tue Jul 23 10:36:19 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* Makefile.in (ed10velf.c): New target.
* configure.tgt (d10v-*-elf*): New target.
* emulparams/d10velf.sh: New file.
end-sanitize-d10v
System V file name limitations.
* configure.tgt (nc32k-pc532-mach*, ns32k-pc532-ux*): Use
pc532macha rather than pc532machaout.
* Makefile.in (ALL_EMULATIONS): Change epc532machaout.o to
epc532macha.o.
(epc532macha.c): Rename target from epc532machaout.c.
-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.