alignment adjustment. Clear BSF_SECTION_SYM if symbol is moved to
a different section. Use time_t for time variable.
(setup_sections): Only put sections with contents in output NLM.
(i386_mangle_relocs): No symbols are common at this point. Add
casts to avoid warnings.
(main): Set the bss vma to always follow the data section. Move
symbols into new sections, and adjust values by output_offset.
(setup_sections): Don't copy all sections, but instead point all
text sections to .text, all data sections to .data, and all bss
sections to .bss.
(copy_sections): Adjust accordingly.
* 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.
(using nm) a file with the variable prepends_underscore.
* Makefile.in (c++filt): Link underscore.o with cplus-dem.o
so that initial underscores get removed iff appropriate.
* binutils.texi: Preliminary documentation for c++filt.
* Makefile.in, binutils.texi: Set to version 2.2.
* i386-pinsn.c: Removed. Subsumed by ../opcodes/i386-dis.c.
* Makefile.in: Adjust accordingly.
* objdump.c: Support new-style disassemblers (ones that use
the interface of ../include/dis-asm.h).
Migrated dejagnu testcases and support files for testing nm to
binutils/testsuite from deja-gnu. These files were moved "as is"
with no modifications. This migration is part of a major overhaul
of dejagnu. The modifications to these testcases, etc., which
will allow them to work with the new version of dejagnu will be
made in a future update.
* Makefile.in (LIBIBERTY): Use LIBIBERTY_BIN_DIR.
* Makefile.in (DEMANGLER_PROG): New program to build. Add macro
and rule.
* Makefile.in (PROGS): Add DEMANGLER_PROG.
* Makefile.in (distclean): Remove sysdep.h.
* size.c: Use %u format where appropriate.
* objdump.c: Standardize: L_SET -> SEEK_SET.
* objdump.c: Use new macro bfd_asymbol_bfd.
* configure.in: Allow std-host as the default ${mys_host}.
* size.c: Use bfd_size_type (and long) where appropriate.
* ar.c: Make writing a map the default, to be compatible
with SYSV and Posix.2. Remove some bogus kludges that
handled __.SYMDEF directly.
* NEWS: New file.
* arsup.h, bucomm.h, objdump.h: Remove EXFUN from binutils.
It still remains as a local macro in gmalloc.c, which is derived
from some other copy of GNU Malloc somewhere (FIXME).
* ar.c, objdump.c, size.c: Replace EXFUN with PROTO. Make static
fns really static.
* arsup.h: Declare extract_files.
Add long option names. Re-think option letters to be more
consistent.
* copy.c: New function filter_symbols() for stripping only
debug-symbols and/or local symbols. Use these to support
the previously-missing options of the old FSF strip.
Mon Sep 21 14:39:56 1992 Ian Lance Taylor (ian@cygnus.com)
* m68k-pinsn (print_insn_arg, fetch_arg): added support for
operands to memory management instructions, from WRS.
Tue Aug 18 13:28:44 1992 Ian Lance Taylor (ian@cygnus.com)
* config/mh-apollo68v: removed -g from CC definition.
* Makefile.in: always create installation directories.
program), follow traditional argv processing:
'strip file1 file2' now strips file1 and file2, rather
than stripping file1 (as input), leaving output in file2.
mostly thanks to Gumby suggestions:
1: move copyright/copying explanation up before top node as usual for
info files
2: coalesce main menu and descriptive list of binutils
3: point directly into separate ld info file from binutils main menu
rules, since these are used when building a distribution.
* Makefile.in (arlex.c): Don't re-direct output, since that
leaves a bogus output files if it fails.
suffix from distribution name.
* m68k-pinsn.c: New macro COERCE_SIGNED_CHAR to extract
the signed value of a character (even if chars are unsigned).
* sparc-pinsn.c: Add new operand types.
* objdump.h: created to hold prototyes of objdump.c
* am29k-pinsn.c: include objdump.h
* ar.c: include bucomm.h, get ar.h from the right place and
include libbfd.h
* bucomm.c: defunize bfd_fatal
* copy.c: include bucomm.h, lint.
* i960-pinsn.h: include bucomm.h
* m68k-pinsn.h: lint
* nm.c: include bucomm.h, lint
* objdump.c: lint
* sparc-pinsn.c: include objdump.h
* Makefile.in: added standards.text support. install using
INSTALL_PROGRAM and INSTALL_DATA.
* configure.in: configure now does all of it's work from objdir so
make file existence tests against ${srcdir}.
Thu Dec 5 22:46:22 1991 K. Richard Pixley (rich at rtl.cygnus.com)
* Makefile.in: idestdir and ddestdir go away. Added copyrights
and shift gpl to v2. Added ChangeLog if it didn't exist. docdir
and mandir now keyed off datadir by default.
* version.c, Makefile.in: Get version string from Makefile.
* copy.c, is-strip.c, not-strip.c, maybe-strip.c, Makefile.in:
Make the same change that we earlier did for ar/ranlib:
Generate two different binaries for strip and copy and use
a global variable with different values to distinguish
ostrip from copy. (-1 means to use argv[0] to decide,
so you can get the old behavior, but it is no longer the default).
* copy.c (copy_file): Set EXEC_P of output bfd if input is so.
* copy.c (main): If is_strip==-1, compare last 5 chars
of argv[0], not the whole path.
* copy.c (main): Return 0, not 1.
* copy.c (setup_sections): Fix due to change in bfd_make_section
now failing if asked for a duplicate section.
* strip.c, ostrip.c: Removed obsolete files.
* ar.c, not-ranlib.c, maybe-ranlib.c:
Change encoding of is_ranlib variable to be consistent
with is_strip for strip.copy (i.e -1 to means use argv[0]).
instead new short name "binutils.texi" (which presumably someone
changed for SysV short-name file systems).
(2) use [what I understand to be] current conventions for $srcdir,
makeinfo -o.
(3) more filtering of roff'able target forms of doc.
* ar.c (get_pos_bfd): Fix to handling of before/after
positioning options.
* bucomm.c (fatal): MISSING_VFPRINTF is no longer an issue,
since libiberty contains vfprintf etc if otherwise missing.
* m68k-pinsn.c (print_insn_arg): Support BB/BW/BL
type operands, as used by branch instructions.
* nm.c: Delegate printing of symbols to BFD,
by using bfd_print_symbol to do the formatting.