Ian Lance Taylor [Fri, 8 Apr 1994 21:40:38 +0000 (21:40 +0000)]
* aoutx.h (NAME(aout,make_sections)): New function.
(NAME(aout,some_aout_object_p)): Call NAME(aout,make_sections)
rather than making sections inline.
(NAME(aout,mkobject)): Don't make any sections.
(NAME(aout,adjust_sizes_and_vmas)): Call NAME(aout,make_sections).
(NAME(aout,final_link)): Don't dereference obj_textsec (abfd) or
obj_datasec (abfd) if they are NULL.
* libaout.h (NAME(aout,make_sections)): Declare.
* bout.c (b_out_mkobject): Don't make any sections.
(b_out_write_object_contents): Call aout_32_make_sections.
(b_out_set_section_contents): Likewise.
* i386os9k.c (os9k_mkobject): Don't make any sections.
(os9k_write_object_contents): Call aout_32_make_sections.
(os9k_set_section_contents): Likewise.
David MacKenzie [Fri, 8 Apr 1994 19:03:23 +0000 (19:03 +0000)]
* configure: Ignore --x-includes and --x-libraries, for Autoconf
compatibility.
Ian Lance Taylor [Fri, 8 Apr 1994 16:24:01 +0000 (16:24 +0000)]
* aoutx.h (NAME(aout,new_section_hook)): Don't set N_EXT in target
index.
Peter Schauer [Fri, 8 Apr 1994 00:37:48 +0000 (00:37 +0000)]
* config/mips/mipsv4.mh, config/mips/mipsv4.mt,
config/mips/tm-mipsv4.h, config/mips/xm-mipsv4.h, mipsv4-nat.c:
New files for MIPS SVR4 support.
Peter Schauer [Fri, 8 Apr 1994 00:36:54 +0000 (00:36 +0000)]
* config/alpha/nm-alpha.h (GDB_TARGET_HAS_SHARED_LIBS): Define,
OSF/1 has shared libraries.
Peter Schauer [Fri, 8 Apr 1994 00:36:08 +0000 (00:36 +0000)]
* config/tm-sunos.h (IN_SOLIB_TRAMPOLINE, SKIP_TRAMPOLINE_CODE):
Define to handle stepping into -g compiled shared libraries.
* config/tm-sysv4.h (SKIP_TRAMPOLINE_CODE): Define to handle
stepping into -g compiled shared libraries.
Peter Schauer [Fri, 8 Apr 1994 00:35:15 +0000 (00:35 +0000)]
* infrun.c (IN_SOLIB_TRAMPOLINE): Correct comment, trampolines
are in the .plt section.
* minsyms.c (lookup_solib_trampoline_symbol_by_pc,
find_solib_trampoline_target): New functions for handling
stepping into -g compiled shared libraries.
* symtab.h (lookup_solib_trampoline_symbol_by_pc,
find_solib_trampoline_target): Add prototypes.
* config/tm-sunos.h (IN_SOLIB_TRAMPOLINE, SKIP_TRAMPOLINE_CODE):
Define to handle stepping into -g compiled shared libraries.
* config/tm-sysv4.h (SKIP_TRAMPOLINE_CODE): Define to handle
stepping into -g compiled shared libraries.
* configure.in: Add mips-*-sysv4* support.
* config/mips/mipsv4.mh, config/mips/mipsv4.mt,
config/mips/tm-mipsv4.h, config/mips/xm-mipsv4.h, mipsv4-nat.c:
New files for MIPS SVR4 support.
* Makefile.in: Update for new mipsv4 files.
* alpha-tdep.c (heuristic_proc_desc, find_proc_desc): Use
read_next_frame_reg to obtain the frame relative stack pointer.
* mips-tdep.c (heuristic_proc_desc): Use read_next_frame_reg to
obtain the frame relative stack pointer.
* mdebugread.c (parse_partial_symbols, psymtab_to_symtab1):
Handle stStatic and stStaticProc symbols in stabs-in-ecoff output
by entering them into the minimal symbol table.
* printcmd.c (print_scalar_formatted): Do not try to unpack to
a long for float formats.
* solib.c: Include "elf/mips.h" only if DT_MIPS_RLD_MAP does not
get defined in <link.h>.
* solib.c (solib_add): Add shared library sections to the section
table of the target before adding the symbols.
* partial-stab.h: Relocate static and global functions.
* dbxread.c (read_dbx_symtab): Remove unused variable
end_of_text_address. Relocate text_addr when passing it
to end_psymtab.
For Alpha OSF/1 targets, enable gdb to set breakpoints in shared
library functions before the executable is run. Retrieve dynamic
symbols from stripped executables.
* mipsread.c (read_alphacoff_dynamic_symtab): New function.
* mipsread.c (mipscoff_symfile_read): Use it. Issue warning message
if no debugging symbols were found.
* alpha-tdep.c (alpha_skip_prologue): Silently return the unaltered
pc if memory at the pc is not accessible and GDB_TARGET_HAS_SHARED_LIBS
is defined.
* config/alpha/nm-alpha.h (GDB_TARGET_HAS_SHARED_LIBS): Define,
OSF/1 has shared libraries.
David Edelsohn [Fri, 8 Apr 1994 00:33:47 +0000 (00:33 +0000)]
Add clean target.
Peter Schauer [Fri, 8 Apr 1994 00:17:32 +0000 (00:17 +0000)]
* config.bfd, configure.host: Add mips-*-sysv4* support.
Peter Schauer [Fri, 8 Apr 1994 00:15:59 +0000 (00:15 +0000)]
* config.guess: Add SINIX support.
* configure.in: Add mips-*-sysv4* support.
Ken Raeburn [Thu, 7 Apr 1994 23:02:49 +0000 (23:02 +0000)]
note deleted .mt files
Ian Lance Taylor [Thu, 7 Apr 1994 19:13:17 +0000 (19:13 +0000)]
* dbxread.c (read_dbx_dynamic_symtab): Adjust for recent changes
to BFD handling of dynamic symbols.
Ian Lance Taylor [Thu, 7 Apr 1994 18:33:09 +0000 (18:33 +0000)]
* config/tc-mips.c (macro): Pass NULL for expression argument to
macro_build for nori case.
(SWITCH_TABLE): Define.
(mips_force_relocation): Force a relocation for a switch table
entry.
(md_apply_fix): Write switch table entry value into file.
(tc_gen_reloc): Use BFD_RELOC_GPREL32 for a switch table entry,
and set the addend to the difference between the reloc address and
the subtrahend.
Ian Lance Taylor [Thu, 7 Apr 1994 18:29:38 +0000 (18:29 +0000)]
* coff-mips.c (mips_howto_table): Add entry for MIPS_R_SWITCH.
(mips_ecoff_swap_reloc_in): For MIPS_R_SWTICH, copy r_symndx into
r_offset and set r_symndx to RELOC_SECTION_TEXT.
(mips_ecoff_swap_reloc_out): For MIPS_R_SWITCH, get the r_symndx
value from the r_offset field.
(mips_adjust_reloc_in): Maximum r_type value is now MIPS_R_SWITCH.
For MIPS_R_SWITCH, copy the r_offset field into the addend field.
(mips_adjust_reloc_out): For MIPS_R_SWITCH, copy the addend field
into the r_offset field.
(mips_switch_reloc): New function.
(mips_bfd_reloc_type_lookup): Translate BFD_RELOC_GPREL32 into
MIPS_R_SWITCH.
(mips_relocate_section): Handle MIPS_R_SWITCH.
(mips_relax_section): Adjust MIPS_R_SWITCH offset if necessary.
Ian Lance Taylor [Thu, 7 Apr 1994 18:28:03 +0000 (18:28 +0000)]
Comment change.
Ian Lance Taylor [Thu, 7 Apr 1994 18:20:04 +0000 (18:20 +0000)]
* mips.h (MIPS_R_SWITCH): Define.
Jeff Law [Thu, 7 Apr 1994 18:12:25 +0000 (18:12 +0000)]
* elfcode.h (elf_set_section_contents): Support calling the backend
function elf_backend_begin_write_processing when just beginning to
write an object file.
* libelf.h (elf_backend_begin_write_processing): Declare.
* elf{32,64}-target.h (elf_backend_begin_write_processing): Provide
a default definition.
(elf{32,64}_bed): Add elf_backend_begin_write_processing.
* elf32-hppa.h (elf_hppa_tc_symbol): Delete extern declaration.
(elf_hppa_tc_make_sections): Likewise.
* elf32-hppa.c (symext_chain_built): Delete.
(symext_chain_size): Renamed from symextn_contents_real_size.
(elf32_hppa_backend_{begin,final}_write_processing): New functions.
(add_entry_to_symext_chain): New function.
(hppa_elf_set_section_contents): Ignore writes to the symbol extension
section until it's been rebuilt internally.
(hppa_elf_get_section_contents): Symbol extension section is no
longer special.
(elf_backend_{begin,final}_write_processing): Define.
(elf_hppa_tc_make_sections): Simplify now that much code has
migrated into elf32_hppa_backend_{being,final}_write_processing.
Jeff Law [Thu, 7 Apr 1994 17:39:16 +0000 (17:39 +0000)]
* config/tc-hppa.h (elf_tc_symbol): Delete. No longer used.
(elf_tc_make_sections): Likewise.
(hppa_tc_make_sections, hppa_tc_symbol): Delete extern decls.
* config/tc-hppa.c (hppa_tc_make_sections): Delete function.
(hppa_tc_symbol): Likewise.
* config/obj-elf.c (elf_frob_file): Delete elf_tc_symbol and
elf_tc_make_sections stuff. It was there to support PA braindamage
which has been fixed, and in the case of elf_tc_make_sections is
redundant with elf_tc_final_processing.
Jeff Law [Thu, 7 Apr 1994 03:49:18 +0000 (03:49 +0000)]
* configure.in (hppa*-*-*elf*): Don't require "-hp-" for the
manufacturer.
Ian Lance Taylor [Thu, 7 Apr 1994 02:04:34 +0000 (02:04 +0000)]
Added -D (--dynamic) option to nm and -T (--dynamic-syms) and -R
(--dynamic-reloc) arguments to objdump.
* nm.c (dynamic): New static variable.
(long_options): Added "dynamic".
(usage): Mention -D and --dynamic.
(main): Add D to getopt string. Handle -D by setting dynamic.
(display_rel_file): If dynamic is non-zero, read dynamic symbols
rather than normal symbols.
* nm.1: Updated for -D (--dynamic) option.
* objdump.c (dump_dynamic_symtab): New global variable.
(dump_dynamic_reloc_info): New global variable.
(dynsyms, dynsymcount): New global variables.
(usage): Mention -R, -T, --dynamic-syms and --dynamic-reloc.
(long_options): Added "dynamic-reloc" and "dynamic-syms".
(slurp_symtab): If no symbols, return rather than exit.
(slurp_dynamic_symtab): New function.
(display_bfd): Handle dump_dynamic_symtab and
dump_dynamic_reloc_info.
(dump_symbols): Take new dynamic argument, indicating whether to
display dynamic symbols.
(dump_relocs): Move most printing into dump_reloc_set.
(dump_dynamic_relocs): New function.
(dump_reloc_set): New function, extracted from dump_relocs.
(main): Add R and T to getopt string. Handle -T by setting
dump_dynamic_symtab and -R by setting dump_dynamic_reloc_info.
* objdump.1: Updated for -R (--dynamic-reloc) and -T
(--dynamic-syms) options.
* binutils.texi: Updated for new nm and objdump options.
Ian Lance Taylor [Thu, 7 Apr 1994 01:58:27 +0000 (01:58 +0000)]
* All backends: Added BFD_JUMP_TABLE_DYNAMIC to target vector.
Ian Lance Taylor [Thu, 7 Apr 1994 01:50:10 +0000 (01:50 +0000)]
* sunos.c (MY_read_dynamic_symbols): Don't define.
(MY_read_dynamic_relocs): Don't define.
(MY_get_dynamic_symtab_upper_bound): Define.
(MY_canonicalize_dynamic_symtab): Define.
(MY_get_dynamic_reloc_upper_bound): Define.
(MY_canonicalize_dynamic_reloc): Define.
(struct sunos_dynamic_info): Change type of dynsym_count and
dynrel_count to long. Add fields canonical_dynsym and
canonical_dynrel.
(sunos_read_dynamic_info): Check that BFD had DYNAMIC flag set.
Clear info->canonical_dynsym and info->canonical_dynrel.
(MY(read_dynamic_symbols)): Removed.
(MY(read_dynamic_relocs)): Removed.
(sunos_get_dynamic_symtab_upper_bound): New function.
(sunos_canonicalize_dynamic_symtab): New function.
(sunos_get_dynamic_reloc_upper_bound): New function.
(sunos_canonicalize_dynamic_reloc): New function.
* libaout.h: Declare struct reloc_ext_external and
reloc_std_external to avoid prototype problems.
(struct aout_backend_data): Remove fields read_dynamic_symbols and
read_dynamic_relocs.
(NAME(aout,translate_symbol_table)): Declare.
(NAME(aout,swap_ext_reloc_in)): Declare.
(NAME(aout,swap_std_reloc_in)): Declare.
* aoutx.h (NAME(aout,translate_symbol_table)): Renamed from
translate_symbol_table and made non-static. Changed all callers.
(NAME(aout,slurp_symbol_table)): Don't read dynamic symbols.
(NAME(aout,slurp_reloc_table)): Don't read dynamic relocs.
(NAME(aout,get_reloc_upper_bound)): Don't count dynamic relocs.
* aoutf1.h (aout_32_sunos4_write_object_contents): Don't bother to
remove dynamic symbols and relocs. They will no longer be
present.
(MY_read_dynamic_symbols): Don't define.
(MY_read_dynamic_relocs): Don't define.
(sunos4_aout_backend): Don't initialize dynamic entry points.
* aout-target.h (MY_read_dynamic_symbols): Don't define.
(MY_read_dynamic_relocs): Don't define.
(MY(backend_data)): Don't initialize dynamic entry points.
(MY_get_dynamic_symtab_upper_bound): If not defined, define to
_bfd_nodynamic version.
(MY_canonicalize_dynamic_symtab): Likewise.
(MY_get_dynamic_reloc_upper_bound): Likewise.
(MY_canonicalize_dynamic_reloc): Likewise.
Ian Lance Taylor [Thu, 7 Apr 1994 01:48:51 +0000 (01:48 +0000)]
* targets.c (bfd_target): Add fields
_bfd_get_dynamic_symtab_upper_bound,
_bfd_canonicalize_dynamic_symtab,
_bfd_get_dynamic_reloc_upper_bound,
_bfd_canonicalize_dynamic_reloc.
(BFD_JUMP_TABLE_DYNAMIC): Define.
* libbfd-in.h (_bfd_nodynamic_get_dynamic_symtab_upper_bound):
Define.
(_bfd_nodynamic_canonicalize_dynamic_symtab): Define.
(_bfd_nodynamic_get_dynamic_reloc_upper_bound): Define.
(_bfd_nodynamic_canonicalize_dynamic_reloc): Define.
* bfd.c (bfd_get_dynamic_symtab_upper_bound): Define.
(bfd_canonicalize_dynamic_symtab): Define.
(bfd_get_dynamic_reloc_upper_bound): Define.
(bfd_canonicalize_dynamic_reloc): Define.
* bfd-in2.h: Rebuilt.
* libbfd.h: Rebuilt.
Ian Lance Taylor [Thu, 7 Apr 1994 01:47:16 +0000 (01:47 +0000)]
* cf-m68klynx.c: Include sysdep.h.
Ian Lance Taylor [Thu, 7 Apr 1994 01:40:54 +0000 (01:40 +0000)]
Updated copyright (bfd-in2.h check in coming soon).
Ian Lance Taylor [Wed, 6 Apr 1994 22:00:40 +0000 (22:00 +0000)]
* targets.c (bfd_target): Rearranged fields in target vector.
Removed _bfd_debug_info_start, _bfd_debug_info_end and
_bfd_debug_info_accumulate, which were never used.
(BFD_JUMP_TABLE_GENERIC, BFD_JUMP_TABLE_COPY): Defined.
(BFD_JUMP_TABLE_CORE, BFD_JUMP_TABLE_ARCHIVE): Defined.
(BFD_JUMP_TABLE_SYMBOLS, BFD_JUMP_TABLE_RELOCS): Defined.
(BFD_JUMP_TABLE_WRITE, BFD_JUMP_TABLE_LINK): Defined.
* All backends: Changed to use the new BFD_JUMP_TABLE_* macros
rather than the single JUMP_TABLE macro. Removed many of the
weird macro definitions needed to support the monolithic
JUMP_TABLE.
* bfd-in.h (JUMP_TABLE): Removed.
* libbfd-in.h: Define a bunch of macros, and declare a few
functions, for use with the new BFD_JUMP_TABLE_* macros.
* libbfd.c (_bfd_dummy_new_section_hook): Removed.
(bfd_false): Set bfd_error_invalid_operation.
(bfd_nullvoidptr): Likewise.
(bfd_n1): New function.
(_bfd_nocore_core_file_matches_executable_p): Renamed from
_bfd_dummy_core_file_matches_executable_p.
(_bfd_nocore_core_file_failing_command): Similar rename. Set
bfd_error_invalid_operation.
(_bfd_nocore_core_file_failing_signal): Likewise.
(_bfd_generic_get_section_contents): Renamed from
bfd_generic_get_section_contents. Changed all callers.
(_bfd_generic_set_section_contents): Similar rename.
* ieee.c: #if 0 out ieee_bfd_debug_info_start,
ieee_bfd_debug_info_end, ieee_bfd_debug_info_accumulate. They
were never called.
* bfd-in2.h: Rebuilt.
* libbfd.h: Rebuilt.
Ian Lance Taylor [Wed, 6 Apr 1994 21:12:40 +0000 (21:12 +0000)]
* mips-opc.c (mips_opcodes): Correct operands of "nor" with an
immediate argument.
Jeff Law [Wed, 6 Apr 1994 07:10:09 +0000 (07:10 +0000)]
* emultempl/hppaelf.em (hppaelf_finish): Only resize sections
if building a final executable.
Jeff Law [Wed, 6 Apr 1994 05:11:31 +0000 (05:11 +0000)]
* Crude support for examining dynamic libraries.
* som.c (som_object_setup): Set DYNAMIC flag for SHL_MAGIC and
DL_MAGIC objects.
(som_prep_headers): Preserve the system_id for DYNAMIC objects.
Use SHL_MAGIC as the magic number of the DYNAMIC flag is set.
Write exec headers for DYNAMIC objects.
(som_begin_writing): DYNAMIC objects have the same alignment
restrictions as D_PAGED objects.
(bfd_section_from_som_symbol): Treat DYNAMIC objects like EXEC_P
objects.
(object_flags): Add DYNAMIC.
Jeff Law [Wed, 6 Apr 1994 03:35:23 +0000 (03:35 +0000)]
* gdb.disasm/hppa.exp (fcmp_tests): Break up into two halves
to avoid expect lossage.
(fmem_LRbug_tests): Likewise.
* gdb.disasm/hppa.s: Corresponding changes.
Jeff Law [Wed, 6 Apr 1994 03:06:25 +0000 (03:06 +0000)]
* gdb.disasm/hppa.exp: Rework escape sequences and end-of-line
conditions to work with latest dejagnu/expect.
Jeff Law [Wed, 6 Apr 1994 01:11:08 +0000 (01:11 +0000)]
Fix typo in last change.
Jeff Law [Wed, 6 Apr 1994 00:56:36 +0000 (00:56 +0000)]
* hppa-tdep.c (hppa_fix_call_dummy): If FUN is a procedure label,
then gets its real address into FUN and its GOT/DP value into %r19.
* tm-hppa.h (CALL_DUMMY): Use %r20, not %r19 as a temporary.
Stan Shebs [Wed, 6 Apr 1994 00:55:51 +0000 (00:55 +0000)]
Tue Apr 5 17:54:07 1994 Stan Shebs (shebs@andros.cygnus.com)
* hosts/mpw.h (CLOSE_BEFORE_UNLINK): Define.
Stan Shebs [Wed, 6 Apr 1994 00:53:20 +0000 (00:53 +0000)]
Tue Apr 5 17:48:52 1994 Stan Shebs (shebs@andros.cygnus.com)
* i386lynx.c, sparclynx.c (NAME): Remove embedded whitespace in
macro uses, confuses some non-ANSI compilers.
Jeff Law [Wed, 6 Apr 1994 00:53:00 +0000 (00:53 +0000)]
* gdb.t15/funcargs.exp (finish from indirect call): No longer
expected to fail on the PA.
(backtrace in call with trampolines): Explicitly require main
to be frame #1 (no trampolines should show up in backtrace).
Jeff Law [Wed, 6 Apr 1994 00:51:50 +0000 (00:51 +0000)]
* hppa-tdep.c (frameless_function_invocation): If no unwind
descriptor was found, then assume this was not a frameless
function invocation.
(frame_saved_pc): If the saved PC is in a linker stub, then
return the return address which the linker stub will return to.
Stan Shebs [Wed, 6 Apr 1994 00:13:43 +0000 (00:13 +0000)]
Tue Apr 5 16:22:19 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-configure (BFD_MACHINES): Insert into Makefile if set.
Jeff Law [Tue, 5 Apr 1994 22:50:42 +0000 (22:50 +0000)]
* som.c (som_bfd_free_cached_info): Add missing PARAMS decl.
Don't free anything if we don't have a bfd_object.
(som_close_and_cleanup): Call som_bfd_free_cached_info.
Jeff Law [Tue, 5 Apr 1994 22:31:21 +0000 (22:31 +0000)]
* xm-hppab.h: Never define USG.
* xm-hppah.h: Always define USG.
Jeff Law [Tue, 5 Apr 1994 22:28:21 +0000 (22:28 +0000)]
* gdb.t00/default.exp: Use "exp_continue" rather than obsolete
"continue -expect".
* gdb.t06/break.exp: Likewise.
* gdb.t07/watchpoint.exp: Likewise.
* gdb.t13/bitfields.exp: Likewise.
* gdb.t15/{funcargs,return}.exp: Likewise.
* gdb.stabs/weird.exp: Likewise.
* config/{mips,udi}-gdb.exp: Likewise.
Jeff Law [Tue, 5 Apr 1994 22:21:55 +0000 (22:21 +0000)]
* gdb.t00/default.exp: Use "exp_continue" rather than obsolete
"continue -expect".
* gdb.t06/break.exp: Likewise.
* gdb.t07/watchpoint.exp: Likewise.
* gdb.t13/bitfields.exp: Likewise.
* gdb.t15/{funcargs,return}.exp: Likewise.
* gdb.stabs/weird.exp: Likewise.
* config/{mips,udi}-gdb.exp: Likewise.
Jeff Law [Tue, 5 Apr 1994 22:17:03 +0000 (22:17 +0000)]
* hppa.sed: Enclose comments within a sed command to avoid
losing with the old OSF1 sed.
Per Bothner [Tue, 5 Apr 1994 20:10:31 +0000 (20:10 +0000)]
* values.c (unpack_long, value_from_longest),
valarith.c (value_binop): Allow TYPE_CODE_RANGE.
Ian Lance Taylor [Tue, 5 Apr 1994 19:57:32 +0000 (19:57 +0000)]
* config/tc-mips.c (mips_ip): For case 'o', when generating
embedded PIC code, accept the difference between two local symbols
as being constant.
(mips_force_relocation): Only force a reloc to be generated for a
PC relative fixup.
(md_apply_fix): For BFD_RELOC_32 and BFD_RELOC_LO16, put the fixup
value into the file if the fixup will not generate a reloc.
Ken Raeburn [Tue, 5 Apr 1994 18:55:56 +0000 (18:55 +0000)]
note that pa support is elf only
Ken Raeburn [Tue, 5 Apr 1994 18:18:04 +0000 (18:18 +0000)]
sparc, doc/Makefile.in changes
Ken Raeburn [Tue, 5 Apr 1994 18:17:39 +0000 (18:17 +0000)]
(install-info-as, install-info-gasp): New targets, now explicitly checking
$(srcdir) for info files.
(install-info): Depend on both of them; do nothing more.
Ken Raeburn [Tue, 5 Apr 1994 18:16:37 +0000 (18:16 +0000)]
(s_reserve): If section passed isn't bss, don't spew remainder of input file in
error message.
(tc_gen_reloc): If bfd_reloc_type_lookup returns null, print error
message with reloc type and try to process remainder of file.
Ian Lance Taylor [Tue, 5 Apr 1994 16:29:00 +0000 (16:29 +0000)]
* elf32-mips.c (mips_elf_final_link): Don't remove empty sections.
It turns out not to be required on Irix 5, and it causes problems
if the sections happen to contain symbols.
Ian Lance Taylor [Tue, 5 Apr 1994 16:27:36 +0000 (16:27 +0000)]
* elfcode.h (write_shdrs_and_ehdr): Correct bfd_write check.
Ian Lance Taylor [Tue, 5 Apr 1994 16:18:31 +0000 (16:18 +0000)]
* ldmain.c (main): Check the return value of bfd_close.
Ian Lance Taylor [Tue, 5 Apr 1994 15:32:49 +0000 (15:32 +0000)]
* aoutx.h (NAME(aout,canonicalize_reloc)): Don't error out if
section->relocation is NULL; malloc might have returned NULL when
given a zero size if there were no relocations.
* bout.c (b_out_canonicalize_reloc): Likewise.
* coffcode.h (coff_canonicalize_reloc): Likewise.
* ecoff.c (ecoff_canonicalize_reloc): Likewise.
* elfcode.h (elf_canonicalize_reloc): Likewise.
* mipsbsd.c (MY(canonicalize_reloc)): Likewise.
* i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise.
* nlmcode.h (nlm_canonicalize_reloc): Likewise.
* som.c (som_canonicalize_reloc): Likewise.
* hp300hpux.c (MY(slurp_reloc_table)): Likewise. Also, if malloc
returns NULL, don't report an error if we asked for zero bytes.
* i386lynx.c (NAME(lynx,slurp_reloc_table)): If malloc returns
NULL, don't report an error if we asked for zero bytes.
* nlmcode.h (nlm_slurp_reloc_fixups): Likewise.
Jeff Law [Tue, 5 Apr 1994 06:48:56 +0000 (06:48 +0000)]
* Makefile.in (MY_MACHINE): Renamed from MACHINE to avoid losing
makes (osf1) in which the value of MACHINE can not be changed.
* config/*.mt: Changed appropriately.
David Edelsohn [Tue, 5 Apr 1994 00:56:53 +0000 (00:56 +0000)]
* build-all.mk: Document all useful targets.
If canonhost is sparc-sun-solaris2.3, change it to sparc-sun-solaris2.
If canonhost is mips-sgi-irix4.0.5H, change it to mips-sgi-irix4.
Jeff Law [Tue, 5 Apr 1994 00:06:46 +0000 (00:06 +0000)]
* config/tc-hppa.c (tc_gen_reloc): Fix thinko in ELF version.
Ian Lance Taylor [Mon, 4 Apr 1994 23:44:13 +0000 (23:44 +0000)]
* aoutx.h (NAME(aout,bfd_free_cached_info)): Don't free anything
if we don't have a bfd_object.
David Edelsohn [Mon, 4 Apr 1994 23:37:46 +0000 (23:37 +0000)]
* sparc-opc.c (sparc_opcodes): Fix "rd %fprs,%l0".
Ian Lance Taylor [Mon, 4 Apr 1994 22:49:04 +0000 (22:49 +0000)]
Made sure that every call to bfd_read, bfd_write, and bfd_seek
checks the return value and handled bfd_error correctly. These
changes are not itemised.
Ian Lance Taylor [Mon, 4 Apr 1994 22:43:30 +0000 (22:43 +0000)]
Made sure that every call to bfd_read, bfd_write, and bfd_seek
checks the return value and handled bfd_error correctly. These
changes are not itemised. Also:
* srec.c (srec_write_record): Change return type to boolean.
(srec_write_header): Likewise. Also, check srec_write_record
return value.
(srec_write_section, srec_write_terminator): Likewise.
(srec_write_symbols): Change return type to boolean.
(internal_srec_write_object_contents): Check return value of
srec_write_symbols, srec_write_header, srec_write_section, and
srec_write_terminator.
Ian Lance Taylor [Mon, 4 Apr 1994 22:42:45 +0000 (22:42 +0000)]
Made sure that every call to bfd_read, bfd_write, and bfd_seek
checks the return value and handled bfd_error correctly. These
changes are not itemised. Also:
* oasys.c (oasys_read_record): Change return type to boolean.
(oasys_slurp_symbol_table: Check oasys_read_record return value.
(oasys_object_p, oasys_slurp_section_data): Likewise.
(oasys_write_record): Change return type to boolean.
(oasys_write_syms): Likewise. Also, check oasys_write_record
return value.
(oasys_write_sections): Check oasys_write_record return value.
(oasys_write_header): Change return type to boolean. Check
oasys_write_record return value.
(oasys_write_end, oasys_write_data): Likewise.
(oasys_write_object_contents): Check return values of
oasys_write_header, oasys_write_syms, oasys_write_data, and
oasys_write_end.
Ian Lance Taylor [Mon, 4 Apr 1994 22:41:53 +0000 (22:41 +0000)]
Made sure that every call to bfd_read, bfd_write, and bfd_seek
checks the return value and handled bfd_error correctly. These
changes are not itemised. Also:
* i386os9k.c (os9k_swap_exec_header_in): Change return type to
boolean.
(os9k_object_p): Check os9k_swap_exec_header_in return value.
Ian Lance Taylor [Mon, 4 Apr 1994 22:41:21 +0000 (22:41 +0000)]
Made sure that every call to bfd_read, bfd_write, and bfd_seek
checks the return value and handled bfd_error correctly. These
changes are not itemised. Also:
* coffcode.h (coff_write_relocs): Change return type to boolean,
and return errors.
(coff_write_object_contents): Check coff_write_relocs return
value.
Ian Lance Taylor [Mon, 4 Apr 1994 22:40:09 +0000 (22:40 +0000)]
Made sure that every call to bfd_read, bfd_write, and bfd_seek
checks the return value and handled bfd_error correctly. These
changes are not itemised. Also:
* aoutx.h (emit_strtab): Change return type to boolean, and return
errors.
(NAME(aout,write_syms)): Check emit_strtab return value.
(NAME(aout,final_link)): Likewise.
Ian Lance Taylor [Mon, 4 Apr 1994 20:04:52 +0000 (20:04 +0000)]
* Makefile.in: Rebuilt dependencies.
Peter Schauer [Mon, 4 Apr 1994 17:59:36 +0000 (17:59 +0000)]
* aix386-core.c (aix386_bfd_is_local_label): Correct cast from
asection to asymbol.
* ptrace-core.c (ptrace_unix_bfd_is_local_label): Correct cast from
bfd to asymbol.
* trad-core.c (trad_unix_bfd_is_local_label): Correct cast from
asection to asymbol.
Ian Lance Taylor [Mon, 4 Apr 1994 17:32:02 +0000 (17:32 +0000)]
* ppc-opc.c (powerpc_operands): The signedp field has been
removed, so don't initialize it. Set the PPC_OPERAND_SIGNED flag
instead. Add new operand SISIGNOPT.
(powerpc_opcodes): For lis, liu, addis, and cau use SISIGNOPT.
Based on patch from David Edelsohn (edelsohn@npac.syr.edu).
* ppc-dis.c (print_insn_powerpc): Check PPC_OPERAND_SIGNED rather
than signedp field.
Ian Lance Taylor [Mon, 4 Apr 1994 17:28:56 +0000 (17:28 +0000)]
* config/tc-ppc.c (ppc_insert_operand): Check PPC_OPERAND_SIGNED
flag rather than signedp field. Only permit extended range if
PPC_OPERAND_SIGNOPT flag is set and assembling in 32 bit mode.
Based on patch from David Edelsohn (edelsohn@npac.syr.edu).
Ian Lance Taylor [Mon, 4 Apr 1994 16:42:16 +0000 (16:42 +0000)]
* config/tc-ppc.c (ppc_size): New static variable.
(ppc_arch): Check for PPC_OPCODE_PPC before PPC_OPCODE_POWER.
(md_begin): If an instruction has a size specific flag set, only
add it if we are assembling that size.
Jeff Law [Mon, 4 Apr 1994 01:28:51 +0000 (01:28 +0000)]
* som.c (som_slurp_string_table): Use malloc to allocate space
for the cached copy of the native string table.
(som_slurp_symbol_table): Likewise for the native symbol table.
(som_slurp_reloc_table): Likewise for the native and generic
relocation tables.
(som_bfd_free_cached_info): Free the cached native strings,
symbols, and relocations. Also free the canonical cached relocations.
Jim Kingdon [Sat, 2 Apr 1994 15:40:00 +0000 (15:40 +0000)]
* symfile.c (deduce_language_from_filename): .cpp is a C++ extension.
Ian Lance Taylor [Fri, 1 Apr 1994 23:01:53 +0000 (23:01 +0000)]
* aoutx.h (aout_link_write_symbols): If keep_memory is false, make
sure the symbol name is stored in permanent memory before adding
it to the string table.
Ian Lance Taylor [Fri, 1 Apr 1994 22:12:00 +0000 (22:12 +0000)]
* archive.c (_bfd_write_archive_contents): Once we've found an
object, don't bother to look for more when deciding whether to
build a map.
(compute_and_write_armap): After adding the symbols for a BFD,
call bfd_free_cached_info on it.
Ian Lance Taylor [Fri, 1 Apr 1994 22:08:38 +0000 (22:08 +0000)]
Add bfd_free_cached_info support to a.out backends.
* aoutx.h (aout_get_external_symbols): Renamed from
aout_link_get_symbols. Read strings even if symbols have been
read. Store string size in obj_aout_string_size.
(NAME(aout,slurp_symbol_table)): Call aout_get_external_symbols to
read the symbols. Allocate the cached symbols with malloc, not
bfd_alloc.
(NAME(aout,slurp_reloc_table)): Allocate the cached relocs with
malloc, not bfd_alloc.
(NAME(aout,bfd_free_cached_info)): New function; free cached
symbols and relocs.
* libaout.h (struct aoutdata): Add external_string_size field.
(obj_aout_external_string_size): New accessor macro.
(NAME(aout,close_and_cleanup)): Don't declare.
(NAME(aout,bfd_free_cached_info)): Declare.
(aout_32_close_and_cleanup): Don't define.
(aout_64_close_and_cleanup): Don't define.
* aout-target.h (MY_bfd_free_cached_info): If not already defined,
define as NAME(aout,free_cached_info).
(MY_close_and_cleanup): If not already defined, define as
MY_bfd_free_cached_info.
* aout-adobe.c (aout_32_close_and_cleanup): Define.
(aout_32_bfd_free_cached_info): Don't define.
* bout.c (aout_32_close_and_cleanup): Define.
(aout_32_bfd_free_cached_info): Don't define.
* hp300hpux.c (MY_bfd_free_cached_info): Define as bfd_true.
(MY_close_and_cleanup): Don't define.
* i386lynx.c (NAME(lynx,slurp_reloc_table)): Allocate the cached
relocs with malloc, not bfd_alloc.
* i386os9k.c (aout_32_close_and_cleanup): Define.
(aout_32_bfd_free_cached_info): Don't define.
Ian Lance Taylor [Fri, 1 Apr 1994 17:55:47 +0000 (17:55 +0000)]
* targets.c (bfd_target): Add _bfd_free_cached_info field.
* bfd.c (bfd_free_cached_info): Define.
* bfd-in.h (JUMP_TABLE): Add _bfd_free_cached_info.
* bfd-in2.h: Rebuilt.
* All backends: Initialize bfd_free_cached_info entry point to
bfd_true.
Ian Lance Taylor [Fri, 1 Apr 1994 17:51:03 +0000 (17:51 +0000)]
* elf32-hppa.c (elf_hppa_reloc_type_lookup): Correct type of
first, unused, argument.
(hppa_elf_is_local_label): Declare instead of
som_bfd_is_local_label.
Ian Lance Taylor [Fri, 1 Apr 1994 17:44:29 +0000 (17:44 +0000)]
* coff-a29k.c (a29k_reloc): Add reloc_entry->address to value of
absolute R_IREL reloc.
Peter Schauer [Fri, 1 Apr 1994 08:51:31 +0000 (08:51 +0000)]
* config/sparc/tm-sun4sol2.h (IN_SOLIB_TRAMPOLINE): Removed,
the new generic definition from tm-sysv4.h works for Solaris.
Peter Schauer [Fri, 1 Apr 1994 08:50:42 +0000 (08:50 +0000)]
* config/tm-sysv4.h (IN_SOLIB_TRAMPOLINE): Use new in_plt_section.
Peter Schauer [Fri, 1 Apr 1994 08:50:03 +0000 (08:50 +0000)]
For SVR4 targets, enable gdb to set breakpoints in shared
library functions before the executable is run.
* elfread.c (elf_symtab_read): Handle symbols for shared library
functions.
* sparc-tdep.c (in_solib_trampoline): Renamed to in_plt_section
and moved to objfiles.c.
* objfiles.c (in_plt_section): Moved to here from sparc-tdep.
* config/tm-sysv4.h (IN_SOLIB_TRAMPOLINE): Use new in_plt_section.
* config/sparc/tm-sun4sol2.h (IN_SOLIB_TRAMPOLINE): Removed,
the new generic definition from tm-sysv4.h works for Solaris.
Ken Raeburn [Fri, 1 Apr 1994 00:45:04 +0000 (00:45 +0000)]
keep internals stuff
Ken Raeburn [Fri, 1 Apr 1994 00:43:14 +0000 (00:43 +0000)]
Some internals docs. Not enough to be amazingly helpful yet, not really
used for anything, just checkpointing...
Ken Raeburn [Fri, 1 Apr 1994 00:35:34 +0000 (00:35 +0000)]
* i386.h (IS_JUMP_ON_ECX_ZERO, "jcxz" pattern): Operand size prefix is 0x66,
not 0x67. Patch from H.J. Lu (hlu@nynexst.com).
Ken Raeburn [Fri, 1 Apr 1994 00:29:40 +0000 (00:29 +0000)]
* internal.h (internal_aouthdr): Added comments for Apollo fields.
Ian Lance Taylor [Thu, 31 Mar 1994 23:08:37 +0000 (23:08 +0000)]
* scripttempl/alpha.sc: Clean up section alignment to ensure that
sections never overlap when using -r.
Ian Lance Taylor [Thu, 31 Mar 1994 21:54:06 +0000 (21:54 +0000)]
* config/tc-sparc.c (tc_gen_reloc): Add a gruesome hack to get
cross section PC relative relocs right for COFF and ELF.
Ian Lance Taylor [Thu, 31 Mar 1994 21:38:23 +0000 (21:38 +0000)]
Added some support for Irix 4 shared libraries.
* ecoff.c (ecoff_new_section_hook): Set SEC_SHARED_LIBRARY for a
.lib section.
(ecoff_sec_to_styp_flags): Set SEC_SHARED_LIBRARY if
STYP_ECOFF_LIB bit is set.
(ecoff_compute_section_file_positions): Round the contents of a
.lib section up to the next page boundary.
(ecoff_set_section_contents): If we see a .lib section, increment
the vma by one to count the number of shared libraries we have.
(ecoff_write_object_contents): Don't crash if we see a
STYP_ECOFF_LIB section, and don't adjust text_start or data_start
or bss_size either.
Ian Lance Taylor [Thu, 31 Mar 1994 21:28:44 +0000 (21:28 +0000)]
* ecoff.h (STYP_ECOFF_LIB): Define as used on Irix 4.
Ian Lance Taylor [Thu, 31 Mar 1994 21:05:21 +0000 (21:05 +0000)]
* coffcode.h (CALC_ADDEND): Change to fetch original symbol value
from original BFD, rather than using value of current BFD symbol.
Needed for new linker.
* coff-sparc.c (CALC_ADDEND): Likewise.
Ian Lance Taylor [Thu, 31 Mar 1994 19:44:10 +0000 (19:44 +0000)]
* ecoff.c (ecoff_write_object_contents): Set the text_start and
data_start entries in the optional header correctly even if a text
or data section starts at location zero.
Ian Lance Taylor [Thu, 31 Mar 1994 19:08:22 +0000 (19:08 +0000)]
Added missing ChangeLog entry for Sean's check in, and rebuilt
bfd-in2.h.
Ian Lance Taylor [Thu, 31 Mar 1994 19:05:03 +0000 (19:05 +0000)]
* nlm32-i386.c (nlm_i386_read_import): Null terminate the symbol
name.
* nlm32-alpha.c (nlm_alpha_read_import): Likewise.
* nlm32-sparc.c (nlm_sparc_read_import): Likewise.
Sean Eric Fagan [Thu, 31 Mar 1994 18:43:42 +0000 (18:43 +0000)]
Missing BFD_RELOC_26.
Ian Lance Taylor [Thu, 31 Mar 1994 16:58:23 +0000 (16:58 +0000)]
* coffgen.c (coff_write_symbol): Reindented. Changed to return
boolean, and changed written to unsigned int *. Check error
returns from called functions.
(coff_write_alien_symbol): Likewise.
(coff_write_native_symbol): Likewise.
(coff_write_symbols): Likewise. Reworked checks on whether to
write symbol name to string table for clarity and to avoid core
dumping when given a non COFF symbol.
* libcoff-in.h (coff_write_symbols): Declare as returning boolean.
* libcoff.h: Rebuilt.
* coffcode.h (coff_write_object_contents): Check return value of
coff_write_symbols.
David MacKenzie [Thu, 31 Mar 1994 12:57:02 +0000 (12:57 +0000)]
* configure: Support --silent, --quiet.
Jeff Law [Thu, 31 Mar 1994 06:50:42 +0000 (06:50 +0000)]
* som.c (som_begin_writing): New approach at dealing with holes
in executables left by the HP linker. Does not rely on subspace
alignments as subspaces are *NOT* guaranteed to be properly
aligned in an executable (can you believe that!).
David MacKenzie [Thu, 31 Mar 1994 05:45:16 +0000 (05:45 +0000)]
* configure: Support --disable-FEATURE.
Ian Lance Taylor [Thu, 31 Mar 1994 04:59:09 +0000 (04:59 +0000)]
Only build PowerPC stubs if we are converting a PowerPC object file.
Stan Shebs [Wed, 30 Mar 1994 23:43:52 +0000 (23:43 +0000)]
Wed Mar 30 15:31:55 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-xconfig.in (opcode/mips.h): Don't forward-include here.
(BFD_MACHINES): Set appropriately.
Stan Shebs [Wed, 30 Mar 1994 23:33:44 +0000 (23:33 +0000)]
Wed Mar 30 15:30:44 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-config.in (BFD_MACHINES): Set to a default value.
* mpw-make.in (BFD_MACHINES): Remove wired-in value.