Ian Lance Taylor [Tue, 1 Nov 1994 21:39:38 +0000 (21:39 +0000)]
* ecoff.c (ecoff_directive_type): Fix warning message.
Peter Schauer [Tue, 1 Nov 1994 21:04:11 +0000 (21:04 +0000)]
* c-valprint.c (c_value_print): Check for plain literal `char'
target type when suppressing `(char *)' output for strings.
J.T. Conklin [Tue, 1 Nov 1994 18:33:35 +0000 (18:33 +0000)]
* Makefile.in (ALL_EMULATIONS): Added em68knbsd.o.
(em68knbsd.c): New target.
* config/m68k-nbsd.mt: New file.
* emulparams/m68knbsd.sh: New file.
* configure.in (m68*-*-netbsd*): Use above configs.
Ian Lance Taylor [Tue, 1 Nov 1994 04:46:07 +0000 (04:46 +0000)]
* elf32-hppa.c (ELF32_PARISC_SX_SIZE): Define.
(ELF32_PARISC_SX_GET, ELF32_PARISC_SX_PUT): Define.
(symextn_entry): Don't define.
(symext_chain_size): Change type to bfd_size_type.
(symextn_contents): Change type to bfd_byte *.
(elf32_hppa_backend_begin_write_processing): Use
ELF32_PARISC_SX_SIZE instead of sizeof (symext_entryS).
(elf32_hppa_size_symext): Likewise. Also, change type of sizep to
bfd_size_type *.
(elf_hppa_tc_make_sections): Cast symextn_contents assignment to
bfd_byte *. Use ELF32_PARISC_SX_PUT instead of direct assignment.
(elf32_hppa_backend_symbol_table_processing): Use
ELF32_PARISC_SX_SIZE instead of sizeof (symext_entryS). Use
ELF32_PARISC_SX_GET insetad of direct assignment.
(elf32_hppa_read_symext_info): Change type of contents, and its
assignment cast, to bfd_byte *. Use ELF32_PARISC_SX_SIZE instead
of sizeof (symextn_entry). Use symext_entryS instead of
symextn_entry. Use ELF32_PARISC_SX_GET instead of direct
assignment.
Stan Shebs [Tue, 1 Nov 1994 03:28:08 +0000 (03:28 +0000)]
* coffread.c (coff_symfile_init): Remove unused local abfd.
* utils.c [NO_MMALLOC] (mmalloc, mrealloc): Define and use size_t
instead of long, for compatibility with mmalloc.h.
Ian Lance Taylor [Tue, 1 Nov 1994 00:37:05 +0000 (00:37 +0000)]
* emultempl/sunos.em (gld${EMULATION_NAME}_find_so): If we find an
appropriately named static library, stop the search at that
directory.
Ian Lance Taylor [Tue, 1 Nov 1994 00:02:52 +0000 (00:02 +0000)]
* hppa-dis.c (print_insn_hppa): Read the instruction using
bfd_getb32, so that it works on a little endian or 64 bit host.
Remove unused local variable op.
Ian Lance Taylor [Mon, 31 Oct 1994 20:23:47 +0000 (20:23 +0000)]
* archive.c (bfd_dont_truncate_arname): Add the ar padding
character, if there is room for it, even if the name is the
maximum length.
PR 5859.
Ian Lance Taylor [Mon, 31 Oct 1994 19:21:40 +0000 (19:21 +0000)]
* elfcode.h (assign_file_positions_except_relocs): Sort the ELF
headers by section address when assigning file positions.
(elf_sort_hdrs): New static function.
Ian Lance Taylor [Mon, 31 Oct 1994 00:05:09 +0000 (00:05 +0000)]
* lib/ld.exp (default_ld_compile): Remove the output file before
compiling.
Ian Lance Taylor [Mon, 31 Oct 1994 00:04:03 +0000 (00:04 +0000)]
* elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Create DT_INIT
and DT_FINI dynamic entries based on the existence of _init and
_fini symbols, not on the .init and .fini sections. This is
compatible with some SVR4 linkers.
(elf_bfd_final_link): Corresponding change.
Jeff Law [Sun, 30 Oct 1994 07:00:14 +0000 (07:00 +0000)]
* config/tc-hppa.c (pa_proc): Delete disabled code to put each
proc in its own subspace, we're not going to use it.
Ian Lance Taylor [Sun, 30 Oct 1994 03:41:50 +0000 (03:41 +0000)]
* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't move a
symbol with a PLT entry into the .plt section if it is defined in
a regular file.
* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
Ian Lance Taylor [Sat, 29 Oct 1994 16:20:41 +0000 (16:20 +0000)]
* linker.c (_bfd_generic_link_add_archive_symbols): It's not an
error if an empty archive has no symbol table.
* ecoff.c (ecoff_link_add_archive_symbols): Likewise.
* elfcode.h (elf_link_add_archive_symbols): Likewise.
Peter Schauer [Sat, 29 Oct 1994 09:58:01 +0000 (09:58 +0000)]
* gdb.base/a1-selftest.exp: Remove RS/6000 xfail for backtrace
through signal handler.
Peter Schauer [Sat, 29 Oct 1994 09:56:38 +0000 (09:56 +0000)]
* config/rs6000/tm-rs6000.h (INIT_EXTRA_FRAME_INFO):
Don't test for zero backchain pointer to recognize a signal
handler frame, if read() gets interrupted by a signal, the
backchain will be non zero.
(SIG_FRAME_FP_OFFSET): Move to here from rs6000-tdep.c,
improve comment.
(SIG_FRAME_PC_OFFSET): New definition.
(FRAME_SAVED_PC): Return saved pc from sigcontext if this
is a signal handler frame.
* rs6000-tdep.c (function_frame_info): Do not error out
if we can't access the instructions.
* config/rs6000/tm-rs6000.h (CONVERT_FROM_FUNC_PTR_ADDR):
New definition to get the function address from a function pointer.
* valops.c (find_function_addr): Use it when calling a user
function through a function pointer.
Peter Schauer [Sat, 29 Oct 1994 09:51:32 +0000 (09:51 +0000)]
* top.c (line_completion_function): Renamed from
symbol_completion_function, takes the line buffer and the
point in the line buffer as additional arguments.
(readline_line_completion_function): New function, interface
between readline and line_completion_function.
(init_main): Use it.
(complete_command): Use line_completion_function instead of
abusing rl_line_buffer. Free completion strings after printing
them.
* symtab.c (completion_list_add_name): Recheck for duplicates
if we intend to add a modified symbol.
* gdbtypes.h (cplus_struct_type): nfn_fields_total no longer
includes the number of methods from the baseclasses.
* stabsread.c (attach_fn_fields_to_type): No longer add the
number of methods from the baseclasses to TYPE_NFN_FIELDS_TOTAL,
the baseclass type might not have been completely filled in yet.
* symtab.c (total_number_of_methods): New function to compute
the total number of methods for a type, including the methods
from baseclasses.
(decode_line_1): Use it instead of TYPE_NFN_FIELDS_TOTAL to
allocate the symbol array for find_methods.
* stabsread.c (scan_file_globals): Add default case to minimal
symbol type switch, to avoid gcc -Wall warnings.
* config/rs6000/tm-rs6000.h (INIT_EXTRA_FRAME_INFO):
Don't test for zero backchain pointer to recognize a signal
handler frame, if read() gets interrupted by a signal, the
backchain will be non zero.
(SIG_FRAME_FP_OFFSET): Move to here from rs6000-tdep.c,
improve comment.
(SIG_FRAME_PC_OFFSET): New definition.
(FRAME_SAVED_PC): Return saved pc from sigcontext if this
is a signal handler frame.
* rs6000-tdep.c (function_frame_info): Do not error out
if we can't access the instructions.
* config/rs6000/tm-rs6000.h (CONVERT_FROM_FUNC_PTR_ADDR):
New definition to get the function address from a function pointer.
* valops.c (find_function_addr): Use it when calling a user
function through a function pointer.
Stan Shebs [Sat, 29 Oct 1994 00:02:51 +0000 (00:02 +0000)]
* Makefile.in (MMALLOC_DIR): New definition.
(MMALLOC): Use MMALLOC_DIR.
(MMALLOC_CFLAGS): Look in MMALLOC_DIR for mmalloc.h.
(OPCODES): Remove gratuitous "./".
* defs.h (mmalloc.h): Include.
(mmalloc, mrealloc, etc): Remove decls.
(cplus_demangle, cplus_demangle_opname): Remove decls.
Stan Shebs [Fri, 28 Oct 1994 23:53:29 +0000 (23:53 +0000)]
* mmprivate.h: New file, was mmalloc.h.
(mmalloc.h): Include.
* mmalloc.h: Remove all but declarations of mmalloc functions.
(ansidecl.h): Include.
* attach.c, et al: Include mmprivate.h instead of mmalloc.h.
Stan Shebs [Fri, 28 Oct 1994 22:45:04 +0000 (22:45 +0000)]
Really forget all about the old tests dir
J.T. Conklin [Fri, 28 Oct 1994 18:11:15 +0000 (18:11 +0000)]
NetBSD/m68k support, based on work by mikeb@snow.datametrics.com:
* config.bfd (m68*-*-netbsd*): Use m68k-nbsd as bfd_name.
* configure.in (m68knetbsd_vec): Added.
* targets.c (bfd_m68knetbsd_vec): Added.
* hosts/m68knbsd.h, config/m68k-nbsd.mt, m68knetbsd.c: New files.
* Makefile.in (BFD32_BACKENDS, CFILES): Add m68knetbsd.c.
miscellaneous cleanup required by all netbsd targets, based on work
by Andrew Cagney <cagney@highland.com.au>:
* netbsd.h (N_MAGIC, N_SET_MAGIC, N_GETMAGIC, N_GETMAGIC2, N_TXTADDR,
N_TXTOFF, N_ALIGN, N_DATADDR, N_DATOFF): Removed. Generic a.out
definitions work.
* i386nbsd.c, ns32knbsd.c, sparcnbsd.c (__LDPGSZ): Removed.
(MY(write_object_contents)): Use NetBSD's magic numbers
Ian Lance Taylor [Thu, 27 Oct 1994 21:33:10 +0000 (21:33 +0000)]
* ld-shared: New directory, with new files to test generating ELF
shared libraries.
Ian Lance Taylor [Thu, 27 Oct 1994 21:31:50 +0000 (21:31 +0000)]
* lib/ld.exp (default_ld_compile): If the compilation worked, but
no object file was created, check to see if the compiler foolishly
ignored the -o switch when compiling, and move the resulting
object if it did.
Ian Lance Taylor [Thu, 27 Oct 1994 21:25:31 +0000 (21:25 +0000)]
* libelf.h (struct bfd_elf_section_data): Add field dynindx.
* elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Don't finalize
the .dynsym, .dynstr or .hash sections until after the backend
size_dynamic_sections routine, so that it can add dynamic symbols
if it wants to.
* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't define the
symbol to be in the .plt section when generating a shared library
if it is a defined symbol.
* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
(elf32_sparc_size_dynamic_sections): When generating a shared
library, allocate space for a dynamic symbol for each output
section, storing the index in the dynindx field of the ELF section
data. Adjust the other dynindx fields to account for this.
(elf32_sparc_adjust_dynindx): New static function.
(elf32_sparc_relocate_section): When copying a reloc into a shared
library, use the original addend as appropriate. Convert an
R_SPARC_32 reloc into an R_SPARC_RELATIVE reloc. Use the dynamic
symbol index of the output section, not the normal symbol index.
(elf32_sparc_finish_dynamic_sections): Don't die if a section does
not exist when setting the value of the dynamic tags. Write out
a dynamic symbol for each output section.
Stu Grossman [Wed, 26 Oct 1994 22:45:13 +0000 (22:45 +0000)]
* defs.h, gdbtk.c, main.c, top.c: Change sense and name of
no_windows variable. Now called use_windows, and defaults to off
(for compatibility).
Jim Kingdon [Wed, 26 Oct 1994 21:50:19 +0000 (21:50 +0000)]
* coffread.c (coff_symtab_read): If we get the address from
target_lookup_symbol, set the section to -2 not SECT_OFF_BSS.
(coff_symtab_read): Set value and section of symbol that
process_coff_symbol returns.
J.T. Conklin [Wed, 26 Oct 1994 21:02:02 +0000 (21:02 +0000)]
* Makefile.in (ALL_EMULATIONS): Added ei386nbsd.o, ens32knbsd.o
and esparcnbsd.o; sorted entries.
(ei386nbsd.c,ens32knbsd.c,esparcnbsd.c): New targets.
* config/netbsd532.mt: Removed.
* emulparams/netbsd532.sh: Removed.
* config/{i386-nbsd.mt,ns32k-nbsd.mt,sparc-nbsd.mt}: New files.
* emulparams/{i386nbsd.sh,ns32knbsd.sh,sparcnbsd.sh}: New files.
* configure.in (i[345]86-*-netbsd*, ns32k-pc532-netbsd*,
sparc*-*-netbsd*): Use above configs.
Ian Lance Taylor [Wed, 26 Oct 1994 20:41:39 +0000 (20:41 +0000)]
* config.sub: Update for recent FSF changes. Remove obsolete
h8300hds entry. Add -windows* and -osx as basic os. Minor
spacing changes.
Jason Merrill [Wed, 26 Oct 1994 19:37:54 +0000 (19:37 +0000)]
Add libstdc++
Ian Lance Taylor [Wed, 26 Oct 1994 05:17:08 +0000 (05:17 +0000)]
* aoutx.h (aout_link_input_section): Don't bother to read or write
the relocs if there aren't any.
David Edelsohn [Wed, 26 Oct 1994 03:18:14 +0000 (03:18 +0000)]
Add support for arc processor.
Ian Lance Taylor [Tue, 25 Oct 1994 21:24:02 +0000 (21:24 +0000)]
* config/tc-mips.c (macro): Ensure that mips2 case of M_LI_DD in
.rdata does not become a variant frag.
Ian Lance Taylor [Tue, 25 Oct 1994 21:09:08 +0000 (21:09 +0000)]
* mips-opc.c: Use or instead of addu for pseudo-op move, since
addu does not work correctly if -mips3.
PR 5832.
Ian Lance Taylor [Tue, 25 Oct 1994 20:22:32 +0000 (20:22 +0000)]
* objcopy.c (gap_fill): Explicitly initialize, for clarity.
(pad_to_set, pad_to): New static variables.
(copy_options): Accept --pad-to.
(copy_usage): Mention --pad-to.
(copy_object): Support --pad-to.
(compare_section_vma): Sort non loadable sections to the front.
Sort sections with the same VMA by size.
(copy_main): Handle --pad-to.
* binutils.texi, objcopy.1: Document --pad-to.
Ian Lance Taylor [Tue, 25 Oct 1994 19:11:46 +0000 (19:11 +0000)]
* Makefile.in (ALL_MACHINES): Add tekhex.o.
* targets.c (bfd_target_vector): If SELECT_VECS is not defined,
include tekhex_vec.
* tekhex.c (NIBBLE, ISHEX): Cast array arguments to unsigned char.
(getvalue, getsym, out): Likewise.
(find_chunk): Remove unused variable s.
(first_phase): Remove unused variable s.
(pass_over): Remove unused variable address.
(tekhex_object_p): Remove unused variable section.
(move_section_contents): Change return type from boolean to void.
(tekhex_write_object_contents): Remove unused variables tdata and
list.
Ian Lance Taylor [Tue, 25 Oct 1994 18:47:09 +0000 (18:47 +0000)]
* config/tc-mips.c (mips_cpu): Initialize to -1.
(md_begin): Don't mips_cpu if it was already set.
(md_parse_option): For -mipsN, don't set mips_cpu if it was
already set. For -mcpu=, just set mips_cpu, not mips_isa.
J.T. Conklin [Tue, 25 Oct 1994 16:55:44 +0000 (16:55 +0000)]
* config/i386/tm-nbsd.h: Enable longjmp support.
Ian Lance Taylor [Tue, 25 Oct 1994 15:48:09 +0000 (15:48 +0000)]
* ldmain.c (multiple_common): One of the types may now be
bfd_link_hash_indirect. The old BFD argument may be NULL.
Ian Lance Taylor [Tue, 25 Oct 1994 15:47:59 +0000 (15:47 +0000)]
* linker.c (enum link_action): Add CIND.
(link_action): Change COMMON_ROW\indr from MDEF to CREF. Change
INDR_ROW\common from MDEF to CIND.
(_bfd_generic_link_add_one_symbol): In CREF case, handle an
existing symbol which is indirect rather than defined. Add new
CIND case.
Ian Lance Taylor [Tue, 25 Oct 1994 15:38:39 +0000 (15:38 +0000)]
* bfdlink.h (struct bfd_link_callbacks): Fix comments for
multiple_common field.
Ian Lance Taylor [Mon, 24 Oct 1994 20:08:33 +0000 (20:08 +0000)]
Change S-record backend to use multiple sections to handle gaps in
file.
* srec.c (srec_data_list_struct): Move field next from last place
to first. Change type of data to bfd_byte *.
(struct srec_symbol): Define.
(tdata_type): Remove done_symbol_read, count, strings, symbol_idx,
string_size, string_idx. Change type of symbols to struct
srec_symbol *. Add symtail and csymbols.
(low, high): Remove.
(size_symbols, fillup_symbols, size_srec, fillup): Remove.
(white, skipwhite, pass_over, object_p): Remove.
(srec_mkobject): Call srec_init. Adjust tdata initialization for
field changes.
(srec_get_byte, srec_bad_byte): New static functions.
(srec_new_symbol, srec_scan): New static functions.
(srec_object_p): Change type of b to bfd_byte. Explicitly set
wrong_format error. Call srec_mkobject and srec_scan instead of
object_p.
(symbolsrec_object_p): Likewise. Also, change b to be only two
bytes.
(srec_read_section): New static function.
(srec_get_section_contents): Call srec_read_section rather than
pass_over. Handle zero length section correctly.
(set_set_arch_mach): Change from function to macro.
(srec_set_section_contents): Change data to bfd_byte *.
(srec_write_record): Change data, end and src to bfd_byte *.
(srec_write_header): Change buffer and dst to bfd_byte *.
(srec_write_section): Change location to bfd_byte *.
(srec_write_terminator): Change buffer to bfd_byte *.
(srec_get_symtab_upper_bound): Don't call
srec_get_section_contents.
(srec_get_symtab): Rewrite.
Ian Lance Taylor [Mon, 24 Oct 1994 19:37:18 +0000 (19:37 +0000)]
* ecoff.c (ecoff_set_symbol_info): Set udata.i to 0, not NULL.
Peter Schauer [Sat, 22 Oct 1994 10:48:30 +0000 (10:48 +0000)]
* valarith.c (value_binop): Take care of ANSI `value preserving'
rule, which was not addressed by the previous change.
* rs6000-tdep.c (skip_prologue): Handle `mr r31,r1', which is
generated by gcc-2.6, as a synonym for `oril r31,r1,0'.
* TODO: Remove item about RS/6000 shared libraries.
Ken Raeburn [Sat, 22 Oct 1994 02:17:33 +0000 (02:17 +0000)]
additions for binutils release from dj
Ian Lance Taylor [Sat, 22 Oct 1994 00:51:53 +0000 (00:51 +0000)]
* config/tc-mips.c (md_pseudo_table): If OBJ_ELF, handle .section.
(s_elf_section): New static function.
* ecoff.c (ecoff_build_symbols): Don't abort if we don't recognize
the section when setting the storage class; default to sc_Data.
J.T. Conklin [Fri, 21 Oct 1994 23:55:30 +0000 (23:55 +0000)]
* libaout.h (machine_type): added M_68K_NETBSD and M_SPARC_NETBSD.
* i386netbsd.c, ns32knetbsd.c, sparcnetbsd.c: removed RCS Id's.
changed how PAGE_SIZE and SEGMENT_SIZE are defined so they are
consistant with each other.
* netbsd.h (N_HEADER_IN_TEXT, TEXT_START_ADDR): NetBSD fits its
header into the start of its text segment.
Ian Lance Taylor [Fri, 21 Oct 1994 23:43:29 +0000 (23:43 +0000)]
* targets.c (BFD_JUMP_TABLE_ARCHIVE): Add case for
_construct_extended_name_table.
(bfd_target): Add _bfd_construct_extended_name_table.
* archive.c (_bfd_archive_bsd_construct_extended_name_table): New
function.
(_bfd_archive_coff_construct_extended_name_table): New function.
(_bfd_construct_extended_name_table): Renamed by adding a leading
underscore, and made externally visible. Added trailing_slash
argument, and used it instead of elf_style. Changed type of
tablen to bfd_size_type *.
(_bfd_write_archive_contents): Use BFD_SEND to call
construct_extended_name_table. Use the returned name.
* libbfd-in.h (_bfd_construct_extended_name_table): Declare.
(_bfd_noarchive_construct_extended_name_table): Define.
(_bfd_archive_bsd_construct_extended_name_table): Declare.
(_bfd_archive_coff_construct_extended_name_table): Declare.
* bfd-in2.h: Rebuild.
* libbfd.h: Rebuild.
* som.c (som_construct_extended_name_table): New static function.
* aout-target.h (MY_construct_extended_name_table): Define.
* coff-rs6000.c (rs6000coff_construct_extended_name_table):
Define.
* ieee.c (ieee_construct_extended_name_table): Define.
* libecoff.h (_bfd_ecoff_construct_extended_name_table): Define.
* oasys.c (oasys_construct_extended_name_table): Define.
Ian Lance Taylor [Fri, 21 Oct 1994 23:40:59 +0000 (23:40 +0000)]
fix BFD_ASSERT calls
Ian Lance Taylor [Fri, 21 Oct 1994 23:21:19 +0000 (23:21 +0000)]
remove unused variable
Ian Lance Taylor [Fri, 21 Oct 1994 22:00:18 +0000 (22:00 +0000)]
Fix the ELF linker to not require an interpreter if no dynamic
objects were seen, even when linking PIC code.
* libelf.h (ELF_LINK_HASH_NEEDS_PLT): Define.
(struct elf_link_hash_table): Add field dynamic_sections_created.
* elfcode.h (elf_link_record_dynamic_symbol): Create dynstr if it
doesn't already exist.
(elf_link_add_object_symbols): Create dynamic sections based on
dynamic_sections_created field, not dynobj field. Don't bother to
set dynobj.
(elf_link_create_dynamic_sections): If dynamic sections were
already created, don't do anything. If dynobj is already set, use
it; otherwise, set it to the bfd argument. Don't initialize
dynsymcount. Only create dynstr if it does not exist. Set
dynamic_sections_created to true.
(NAME(bfd_elf,size_dynamic_sections)): Skip most of this function
if no dynamic objects were seen.
(elf_adjust_dynamic_symbol): If a symbol has the
ELF_LINK_HASH_NEEDS_PLT flag set, let the backend adjust it.
(elf_bfd_final_link): Change most decisions based on dynobj to
check dynamic_sections_created instead.
(elf_link_output_extsym): Only handle dynamic symbols if a dynamic
object was seen.
* elf.c (_bfd_elf_link_hash_table_init): Initialize new field
dynamic_sections_created. Set dynsymcount to 1, not 0.
* elf32-i386.c (elf_i386_create_dynamic_sections): Call
elf_i386_create_got_section rather than creating the .got and
.got.plt sections.
(elf_i386_create_got_section): New static function.
(elf_i386_check_relocs): Just call elf_i386_create_got_section if
a GOT table is needed, not bfd_elf32_link_create_dynamic_sections.
Only create the .rel.got section, and only make space for a reloc,
for a global symbol or when generating a shared object. For a
R_386_PLT32 reloc, just set the ELF_LINK_HASH_NEEDS_PLT flag.
(elf_i386_adjust_dynamic_symbol): Rework initial assertion to
permit ELF_LINK_HASH_NEEDS_PLT non dynamic symbols. Create a
procedure linkage table entry for such symbols. But, if no
dynamic objects were seen, never create a PLT entry.
(elf_i386_size_dynamic_sections): If no dynamic objects were seen,
skip most of this function, and force the size of the .rel.got
section to zero.
(elf_i386_relocate_section): For a R_386_GOT32 reloc against a global
symbol when no dynamic object was seen, initialize the contents of
the .got section. For a R_386_GOT32 against a local symbol, only
create a R_386_RELATIVE reloc when generating a shared object.
Treat a R_386_PLT32 reloc against a symbol for which we did not
create a PLT entry as a R_386_PC32 reloc.
(elf_i386_finish_dynamic_sections): Only fiddle with the dynamic
entries and the PLT if we saw a dynamic object.
* elf32-sparc.c (elf_sparc_howto_table): Fix R_SPARC_PC22 by
setting rightshift to 10. Fix R_SPARC_WPLT20 by setting
rightshift to 2, size to 2, bitsize to 30, and dst_mask to
0x3fffffff.
(elf32_sparc_create_dynamic_sections): Don't set the size of the
.plt section. Call elf32_sparc_create_got_section rather than
creating the .got section.
(elf32_sparc_check_relocs): Call elf32_sparc_create_got_section if
a GOT table is needed, not bfd_elf32_link_create_dynamic_sections.
Only create the .rela.got section, and only make space for a
reloc, for a global symbol or when generating a shared object.
Set the alignment of the .rela.got section to 2. For a
R_SPARC_WPLT30 reloc, just set the ELF_LINK_HASH_NEEDS_PLT flag.
(elf32_sparc_adjust_dynamic_symbol): Rework initial assertion to
permit ELF_LINK_HASH_NEDS_PLT non dynamic symbols. Create a
procedure linkage table for such symbols. But, if no dynamic
objects were seen, never create a PLT entry. Initialize the size
of the .plt section.
(elf32_sparc_size_dynamic_sections): If no dynamic objects were
seen, skip most of this function, and force the size of the
.rela.got section to zero. Strip empty reloc sections, and strip
an empty .plt section.
(elf32_sparc_relocate_section): For a GOT reloc against a global
symbol when no dynamic object was seen, initialize the contents of
the .got section. For a GOT reloc against a local symbol, only
create a R_SPARC_RELATIVE reloc when generating a shared object.
Treat a R_SPARC_WPLT30 reloc against a symbol for which we did not
create a PLT entry as a R_SPARC_WDISP30 reloc.
(elf32_sparc_finish_dynamic_sections): Only fiddle with the
dynamic entries and the PLT if we saw a dynamic object.
J.T. Conklin [Fri, 21 Oct 1994 18:34:40 +0000 (18:34 +0000)]
* configure.in (*-*-netware): Use config/mt-netware.
* config/mt-netware: New file.
* config/mt-i386-netware: Removed, separate configs for different
netware architectures are no longer needed now that we have
--with-headers.
Per Bothner [Fri, 21 Oct 1994 02:27:38 +0000 (02:27 +0000)]
* configure.in (target_libs): Remove libstdc++ for libg++-2.6.1.
Ian Lance Taylor [Fri, 21 Oct 1994 02:02:54 +0000 (02:02 +0000)]
* configure.in: Add * at the end of m68k-hp-hpux.
Per Bothner [Fri, 21 Oct 1994 01:55:14 +0000 (01:55 +0000)]
* config.guess: Merge with FSF.
* configure.in: Match on i?86-ncr-sysv4.3, not i?86-ncr-sysv43.
Stu Grossman [Fri, 21 Oct 1994 00:59:20 +0000 (00:59 +0000)]
* defs.h, infrun.c (wait_for_inferior), top.c: Call
target_wait_hook to allow GUI to handle blocking for inferior. Call
call_command_hook in execute_command to provide means for wrapping
commands with GUI state change updates.
* gdbtk.c (gdb_cmd): Force GUI into idle mode when errors occur.
* (gdb_stop): New tcl command to stop the target process.
* (x_event, gdbtk_wait): Allow GUI to interrupt gdb out of target
waits.
* (gdbtk_call_command): Wrapper around command processing to
alert GUI of target state changes.
* (gdbtk_init): Get the fd of X server for doing async
notification of X events (via x_event). Setup new hooks.
* gdbtk.tcl: Add scrollbars to assembly and command windows.
* Change window foreground & background colors.
* Create margin tag for breakpoints in source and assembly windows.
* Add new routines to be invoked when target state changes to/from
idle.
* Add start of expression window.
* Change bindings of mouse button 1 in assembly and source window
to just set or clear breakpoints when in the margin tag.
* Change shape of register window to be more vertical to better
reflect it's contents.
* Add stop button.
* Cleanup some code around command window bindings.
* infrun.c (wait_for_inferior): Make sure
through_sigtramp_breakpoint is non-null before deleting.
Ken Raeburn [Thu, 20 Oct 1994 23:32:46 +0000 (23:32 +0000)]
* configure: Since the "trap 0" handler will override the exit status on many
systems, only use it for "exit 1", and make it set a non-zero exit status;
reset it before "exit 0". Also, check exit status of config.sub, and error out
if it failed.
Karen Christiansen [Thu, 20 Oct 1994 19:25:23 +0000 (19:25 +0000)]
Added irix5 info
Ian Lance Taylor [Thu, 20 Oct 1994 17:58:23 +0000 (17:58 +0000)]
* objcopy.c (gap_fill_set, gap_fill): New static variables.
(copy_options): Accept --gap-fill.
(copy_usage): Mention --gap-fill.
(copy_object): Support --gap-fill.
(get_sections, compare_section_vma): New static functions.
(copy_main): Handle --gap-fill.
* binutils.texi, objcopy.1: Document --gap-fill.
Karen Christiansen [Thu, 20 Oct 1994 17:49:11 +0000 (17:49 +0000)]
Added --with-stabs for alpha and sgi5.2
J.T. Conklin [Thu, 20 Oct 1994 17:33:05 +0000 (17:33 +0000)]
* config/powerpc/ppc-nw.mt (TDEPFILES): Removed exec.o.
Ian Lance Taylor [Thu, 20 Oct 1994 17:32:33 +0000 (17:32 +0000)]
* elfcode.h (elf_map_symbols): Don't worry about section symbols
in a section not owned by any BFD.
(elf_section_from_bfd_section): Separate out loop which calls
backend routine. Check bfd_section and call the backend routine
even for a section not owned by any BFD.
* elf32-mips.c (mips_elf_section_from_bfd_section): Handle
.acommon section.
Jim Kingdon [Thu, 20 Oct 1994 14:01:39 +0000 (14:01 +0000)]
* Makefile.in (coffread.o): Depend on target.h.
(remote-vx.o): Depend on gdb-stabs.h objfiles.h symfile.h $(bfd_h).
Jeff Law [Thu, 20 Oct 1994 06:56:55 +0000 (06:56 +0000)]
* gas/hppa/reloc/blebug3.s: New test.
* gas/hppa/reloc/reloc.exp: Run it.
Jeff Law [Thu, 20 Oct 1994 06:45:55 +0000 (06:45 +0000)]
* config/tc-hppa.c (md_apply_fix): Set new_val to 8 for all
fixups to branch instructions (not just pc-relative ones) which
will generate SOM relocations.
Jim Kingdon [Thu, 20 Oct 1994 05:52:41 +0000 (05:52 +0000)]
* TODO: Fix typo.
Jim Kingdon [Thu, 20 Oct 1994 05:15:46 +0000 (05:15 +0000)]
* objfiles.c (objfile_relocate): When relocating ->sections, use
objfile not symfile_objfile.
* symtab.h, minsyms.c (minsyms_sort): New function.
* objfiles.c (objfile_relocate): Call it.
* remote-vx.c (vx_add_symbols): Call breakpoint_re_set.
* objfiles.c, objfiles.h (objfile_to_front): New function.
* remote-vx.c (vx_add_symbols): Call it.
* coffread.c (coff_symtab_read): Handle common symbols the same
way that partial-stab.h does.
Rob Savoye [Thu, 20 Oct 1994 04:08:52 +0000 (04:08 +0000)]
* hppa-tdep.c: Remove include files a.out.h, ioctl.h, and
machine/psl.h. These are host files.
Jim Kingdon [Wed, 19 Oct 1994 22:17:38 +0000 (22:17 +0000)]
* objfiles.h (struct objfile): Fix comment--minimal_symbol_count
does *not* include the terminating NULL msymbol.
Jim Kingdon [Wed, 19 Oct 1994 20:49:03 +0000 (20:49 +0000)]
* coffgen.c (coff_print_symbol): Make names for section number and
storage class slightly more verbose. It's not clear how many
characters I can justify using up, but before this change they
both were abbreviated "sc" which is (IMHO) clearly unacceptable.
J.T. Conklin [Wed, 19 Oct 1994 18:41:25 +0000 (18:41 +0000)]
removed i386-nlmstub.c
Ian Lance Taylor [Wed, 19 Oct 1994 18:40:45 +0000 (18:40 +0000)]
* Makefile.in (check): Add a dummy else clause to the if
statement.
Ian Lance Taylor [Wed, 19 Oct 1994 18:11:10 +0000 (18:11 +0000)]
* objcopy.c (copy_object): Revert yesterday's change.
* binutils.texi, objcopy.1: Remove special mention of --set-start
and `binary' output format.
Ian Lance Taylor [Wed, 19 Oct 1994 18:08:42 +0000 (18:08 +0000)]
* binary.c (binary_set_section_contents): Set the base file
position from the lowest section VMA, not the start address.
Ian Lance Taylor [Wed, 19 Oct 1994 17:46:43 +0000 (17:46 +0000)]
* config/tc-a29k.c: Include ctype.h with angle brackets.
(define_some_regs): Add new special register names defined on the
29040.
(parse_operand): Add argument opt. If non-zero, don't warn about
a missing operand.
(machine_ip): If handling argument type 'I', pass opt as non-zero
to parse_operand. Handle new optional operand type 'I'.
(md_undefined_symbol): Handle special register names (srNN).
Ian Lance Taylor [Wed, 19 Oct 1994 17:41:18 +0000 (17:41 +0000)]
* a29k-dis.c (print_special): Add special register names defined
on 29030, 29040 and 29050.
(print_insn): Handle new operand type 'I'.
Ian Lance Taylor [Wed, 19 Oct 1994 17:36:38 +0000 (17:36 +0000)]
* a29k.h: Add operand type 'I' for `inv' and `iretinv'. On
systems with a separate instruction and data cache, such as the
29040, these instructions take an optional argument.
Ian Lance Taylor [Wed, 19 Oct 1994 05:30:15 +0000 (05:30 +0000)]
* aoutx.h (NAME(aout,slurp_symbol_table)): Don't return an error
if there are no symbols.
* coffgen.c (coff_get_normalized_symtab): Likewise.
* hp300hpux.c (MY(slurp_symbol_table)): Likewise.
Rob Savoye [Wed, 19 Oct 1994 03:02:17 +0000 (03:02 +0000)]
* monitor.c (monitor_load_srec,monitor_make_srec): Add an asrecord
loader that reads files using BFD and converts it on the fly.
* monitor.c (set_loadtype_command): Fixed so it doesn't core dump.
* monitor.c (monitor_load): check the load type and load the file
accordingly. Default to gr_load_image().
* monitor.c (monitor_load_ascii_srec): Load an ascii file in
srecord format by downloading to the monitor.
* w89k-rom.c, op50n-rom.c: set supported load types.
Rob Savoye [Wed, 19 Oct 1994 03:00:29 +0000 (03:00 +0000)]
Add a ^C to the init string.
Ian Lance Taylor [Tue, 18 Oct 1994 21:42:41 +0000 (21:42 +0000)]
rebuilt dependencies
Ian Lance Taylor [Tue, 18 Oct 1994 19:59:52 +0000 (19:59 +0000)]
* ldlex.l: Cast assignment to yy_ch_buf field to char *, not to
YY_CHAR *.
Ian Lance Taylor [Tue, 18 Oct 1994 19:34:31 +0000 (19:34 +0000)]
* Makefile.in (all-binutils): Depend upon all-byacc.
Ian Lance Taylor [Tue, 18 Oct 1994 19:26:16 +0000 (19:26 +0000)]
* configure.in: Don't build emacs on Irix 5.
Ian Lance Taylor [Tue, 18 Oct 1994 19:20:58 +0000 (19:20 +0000)]
* objcopy.c (copy_object): If the output file format is `binary',
and the start address was not set using --set-start, default the
start address to zero. This hack is because the `binary' output
file format uses the start address to set the virtual address of
the first byte in the file.
* binutils.texi, objcopy.1: Add some notes on generating S-records
and binary files.
Ian Lance Taylor [Tue, 18 Oct 1994 18:51:01 +0000 (18:51 +0000)]
* binary.c: New file for raw binary output format.
* Makefile.in (BFD_LIBS): Add binary.o.
(CFILES): Add binary.c.
* targets.c (binary_vec): Declare.
(bfd_target_vector): Include binary_vec.
Ian Lance Taylor [Tue, 18 Oct 1994 18:49:34 +0000 (18:49 +0000)]
* aout-target.h (MY_bfd_copy_private_section_data): Only copy
subformat to another bfd_target_aout_flavour file.
Ian Lance Taylor [Tue, 18 Oct 1994 16:58:24 +0000 (16:58 +0000)]
* srec.c (tdata_type): Add field tail.
(srec_mkobject): Initialize tail.
(srec_set_section_contents): Sort S record list by address.
Ian Lance Taylor [Tue, 18 Oct 1994 16:03:05 +0000 (16:03 +0000)]
* nm.c (print_symdef_entry): Call print_symname to print the
symbol name, so that --demangle works.
Ian Lance Taylor [Tue, 18 Oct 1994 15:55:10 +0000 (15:55 +0000)]
* Makefile.in (mostlyclean): Remove tmpdir.
Ian Lance Taylor [Tue, 18 Oct 1994 15:51:03 +0000 (15:51 +0000)]
* binutils-all/objcopy.exp: New file.
* config/default.exp: Initialize OBJCOPY and OBJCOPYFLAGS.
Ian Lance Taylor [Tue, 18 Oct 1994 15:49:53 +0000 (15:49 +0000)]
* objcopy.c (struct section_list): Add fields used, adjust, val.
(adjust_start, set_start_set, set_start): New static variables.
(adjust_section_vma, adjust_sections): New static variables.
(copy_options): Add --adjust-start, --adjust-vma,
--adjust-section-vma, --adjust-warnings, --no-adjust-warnings,
--set-start.
(parse_vma): New static function.
(copy_usage): Mention new options.
(copy_object): Handle --set-start and --adjust-start.
(setup_section): Correct type of last argument to PTR. Set used
field if section is removed. Handle --adjust-vma and
--adjust-section-vma.
(copy_section): Correct type of last argument to PTR.
(mark_symbols_used_in_relocations): Likewise.
(strip_main): Clear used field when handling -R.
(copy_main): Handle new options.
* binutils.texi (objcopy): Document new options.
* objcopy.1: Document new options.
Ian Lance Taylor [Tue, 18 Oct 1994 04:46:45 +0000 (04:46 +0000)]
* write.c (renumber_sections): New static BFD_ASSEMBLER function.
(write_object_file): Call it after removing gas created sections.
Rob Savoye [Tue, 18 Oct 1994 00:55:51 +0000 (00:55 +0000)]
* monitor.c (set_loadtype_command): Fixed so it doesn't core dump.
* monitor.c (monitor_load): check the load type and load the file
accordingly. Default to gr_load_image().
* monitor.c (monitor_load_ascii_srec): Load an ascii file in
srecord format by downloading to the monitor.
* w89k-rom.c, op50n-rom.c: set supported load types.
Ian Lance Taylor [Mon, 17 Oct 1994 23:59:36 +0000 (23:59 +0000)]
* oasys.c (oasys_slurp_symbol_table): Use udata.p rather than just
udata.
Ian Lance Taylor [Mon, 17 Oct 1994 23:52:27 +0000 (23:52 +0000)]
* symbols.c (symbol_create): Use udata.p, not just udata.
* config/obj-elf.c (obj_ecoff_set_ext): Likewise.
(elf_get_extr): Likewise.
Ian Lance Taylor [Mon, 17 Oct 1994 23:51:25 +0000 (23:51 +0000)]
* elfcode.h (elf_map_symbols): Sort the symbols into a new array,
rather than messing with Elf_Sym_Extra. Store the symbol index in
the udata.i field.
(swap_out_syms): Use outbound_syms as a pointer rather than as an
array. Don't worry about elf_sym_num.
(elf_symbol_from_bfd_symbol): Use udata.i rather than just udata.
* libelf.h (struct elf_sym_extra): Don't define.
(Elf_Sym_Extra): Don't define.
(struct elf_obj_tdata): Remove sym_extra field.
(elf_sym_extra): Don't define.
* elf32-hppa.c (elf32_hppa_backend_final_write_processing): Use
udata.i rather than elf_sym_extra array.
(elf32_hppa_backend_symbol_table_processing): Don't set
symextn_hdr->size; just use sh_size.
J.T. Conklin [Mon, 17 Oct 1994 23:23:31 +0000 (23:23 +0000)]
* configure.in (*-*-netware*): Add libio.
Ian Lance Taylor [Mon, 17 Oct 1994 22:07:16 +0000 (22:07 +0000)]
* read.c (read_a_source_file): The second argument to as_where is
unsigned int *, not int *.
Ian Lance Taylor [Mon, 17 Oct 1994 22:03:14 +0000 (22:03 +0000)]
Use a hash table when writing out ELF symbol names.
* elfcode.h (elf_stringtab_init): New static function.
(bfd_new_strtab, bfd_add_to_strtab, bfd_add_2_to_strtab): Remove.
Change all callers to use elf_stringtab_init or
_bfd_stringtab_add, and get stringtab lengths using
_bfd_stringtab_size.
(elf_fake_sections): Change ignored argument to pointer to
boolean, and set the boolean to true if an error occurs. If an
error has already occurred, don't do anything.
(assign_section_numbers): Just set sh_size, not contents.
(elf_compute_section_file_positions): Pass the address of a
boolean to elf_fake_sections. Pass the address of a
bfd_strtab_hash to swap_out_syms. Write out the .strtab section.
(prep_headers): Change shstrtab to bfd_strtab_hash.
(swap_out_syms): Take a pointer to a bfd_strtab_hash as an
argument. Set it to the symbol names.
(NAME(bfd_elf,write_object_contents)): Write out the section
header names using _bfd_stringtab_emit.
(elf_debug_section): Remove first argument; get the section name
via the bfd_section pointer. Change caller.
(elf_bfd_final_link): Write out the symbol names using
_bfd_stringtab_emit. Likewise for the .dynstr section contents.
Free the symbol names at the end of the function.
(elf_link_input_bfd): Remove the last argument, output_names,
from relocate_section. Save the old symbol contents before
calling elf_link_output_sym, and restore them afterward.
* libelf.h (struct elf_link_hash_table): Change dynstr field to
struct bfd_strtab_hash.
(struct elf_backend_data): Remove last argument, output_names,
from elf_backend_relocate_section field.
(struct strtab): Don't define.
(struct elf_obj_tdata): Change strtab_ptr field to struct
bfd_strtab_hash.
* elf32-hppa.c (elf32_hppa_relocate_section): Remove last
argument, output_names.
* elf32-i386.c (elf_i386_relocate_section): Likewise.
* elf32-mips.c (mips_elf_relocate_section): Likewise.
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
J.T. Conklin [Mon, 17 Oct 1994 22:03:09 +0000 (22:03 +0000)]
* scripttempl/nw.sc: Gather constructors and destructors and
define __CTOR__LIST__ and __DTOR_LIST__ appropriately.