* configure.in: If we have some *-*-netware* target, or are using
all targets, set BUILD_NLMCONV to $(NLMCONV_PROG) in Makefile.
* Makefile.in (PROGS): Use $(BUILD_NLMCONV) rather than
$(NLMCONV_PROG).
(dump_headers): Don't test for SEC_BALIGN if it's not defined by bfd.h.
(The latter is done with #ifdef in case it turns out SEC_BALIGN has to be
put back. I didn't *see* any uses of it besides this one, though.)
sections before looking at the symbols. Move all common symbols
into .bss section. Automatically define _edata and _end. Only
export symbols in the export list, with multiple prefixes if
necessary. Warn if no version. Always create extended header.
Set date automatically if not already set.
(setup_sections): Count size of bss sections.
(mangle_relocs, i386_mangle_relocs): Accept section argument, and
take reloc_count as a changeable pointer; changed callers.
(i386_mangle_relocs): Remove PC relative relocs within a section,
as they require no adjustment.
* nlmheader.y: Fixed memory allocation throughout: token STRING is
now allocated on the heap, and freed if not needed. Null
terminated copyright message. Accept version with only two
strings.
(symbol_list_opt): New nonterminal, either symbol_list or empty.
(symbol_list): Use left recursion to avoid overflowing parser
stack.
(yylex): Rearranged beginning of line check. Accept quoted
strings using single quotes. End generic argument at comment
character or parentheses.
(string_list_append): Fixed.
(string_list_append1): New function.
(demangle.o): New target.
(cplus-dem.o): Depend on it, to force compilation order when doing
parallel compiles.
* nm.c (print_symbol_info_{bsd,sysv,posix}): Take a bfd arg.
(struct output_fns print_symbol_info): Ditto.
(long_options, usage, main): Add -C --demangle option.
(print_symname): New function, demangling if requested.
(print_symbols, print_symbol_info_{bsd,sysv,posix}): Use it.
* Makefile.in: Put CFLAGS last in compilation rules and omit from
linking rules. Use ARCHDEFS to compile objdump.c.
Update dependencies.
* configure.in: Construct ARCHDEFS based on the BFD target makefile
fragments.
* objdump.c: Conditionalize calls to the print_insn_ARCH functions
according to ARCHDEFS.
(bsssize, datasize, textsize): New global variables.
(bss_section_name, data_section_name, text_section_name): Removed.
(print_berkeley_format): Map berkeley_sum over all the sections,
rather than only reporting sizes of specifically named sections.
* Makefile.in ($(OBJDUMP_PROG)): Removed dependency on size.o.
* nlmconv.c, nlmconv.h, nlmheader.y: New files for program to
convert object files into NetWare Loadable Modules.
* Makefile.in (NLMCONV_PROG): New macro, define to be nlmconv.
(PROGS): Add NLMCONV_PROG.
(nlmheader.c, nlmheader.o, nlmconv.o, $(NLMCONV_PROG)): New
targets.
(cplus-dem.o): Link c++filt with version.o.
* strings.c: Include bucomm.h and add prototypes to other decls.
Remove -h option.
* bucomm.h: Declare xrealloc.
* nm.c, objcopy.c, objdump.c, size.c, strings.c (main, usage): Add
--help option. Put "GNU" in the version message.
(usage): Take stream and exit status as args.
(main): Pass new args to usage.
* objdump.c (remove_useless_symbols): New function.
* objdump.c (comp): Simplify.
* objdump.c (dis-assemble_data): Make simpler and more
efficient how we filter out useless symbols: Just filter
BEFORE the sort (using remove_useless_symbols).
* objdump.c (objdump_print_address): Simplify.
Change output syntax to match gdb.
Currently assumes that the only relevant sections are named .text,
.data and either .bss or .stack. This is not very general, and it
doesn't work for ECOFF.
$(tooldir)/bin; needed for building libgcc.a.
* objdump.c (objdump_print_address): Fix the check
"coincidental" label matches by dis-allowing undefined
or com symbols.