Fred Fish [Mon, 17 Jun 1996 22:37:34 +0000 (22:37 +0000)]
* Makefile.in (DVIPS): New define, set to dvips.
(dvi): Add stabs.dvi.
(ps): New target.
(all-doc): Depend on info, dvi, and ps targets.
(STAGESTUFF): Add *.ps and *.dvi files.
(clean-info, clean-dvi): Remove.
(mostlyclean): Does not depend upon clean-info or clean-dvi,
rules completely rewritten.
(maintainer-clean): Remove clean-info and clean-dvi
dependencies and put their actions in the rules.
(gdb.ps): New target
(gdb.dvi, gdbgui.dvi, gdbint.dvi, stabs.dvi): Remove
intermediate TeX files, whether they have 2 or 3 character
extensions.
(gdbint.ps): Add target and rules.
(gdb-internals): Delete unused target.
(Makefile): Depends upon config.status also.
Jeff Law [Mon, 17 Jun 1996 18:31:51 +0000 (18:31 +0000)]
* config/tc-hppa.c (md_pseudo_table): Add ".begin_try" and ".end_try"
pseudo ops.
(tc_gen_reloc, SOM version): Handle R_BEGIN_TRY and R_END_TRY.
(md_apply_fix): Likewise.
(pa_try): New function.
(hppa_force_relocation): Force relocs for BEGIN_TRY and END_TRY.
More PA exception handling crud.
Ian Lance Taylor [Mon, 17 Jun 1996 16:54:39 +0000 (16:54 +0000)]
* elf32-mips.c (mips_elf_relocate_section): Don't create a reloc
for R_MIPS_REL32 and R_MIPS_32 relocs if no dynamic sections were
created.
(mips_elf_check_relocs): Only create .rel.dyn for R_MIPS_REL32 and
R_MIPS_32 relocs if creating a shared library.
Ian Lance Taylor [Thu, 13 Jun 1996 18:07:39 +0000 (18:07 +0000)]
* cofflink.c (_bfd_coff_final_link): Handle long section names.
* coffcode.h (coff_write_object_contents): If there are long
section names, always set the f_symptr field, even if there are no
symbols.
* peicode.h (coff_swap_filehdr_in): Don't clear the f_symptr field
if there are no symbols.
Ian Lance Taylor [Thu, 13 Jun 1996 17:40:58 +0000 (17:40 +0000)]
* coffgen.c (make_a_section_from_file): Check return value of
_bfd_coff_read_string_table.
(coff_real_object_p): Check return value of
make_a_section_from_file.
(_bfd_coff_read_string_table): Check that there are some symbols
before trying to read the string table size.
Ian Lance Taylor [Thu, 13 Jun 1996 00:16:39 +0000 (00:16 +0000)]
* xcofflink.c (xcoff_link_add_symbols): When considering whether
to replace a symbol in a dynamic object with a symbol from another
dynamic object, do the replacement if the existing symbol is
global linkage code.
PR 9860.
Also fix a couple of comment typos and indentation problems.
Ian Lance Taylor [Wed, 12 Jun 1996 18:18:23 +0000 (18:18 +0000)]
* aoutx.h (NAME(aout,find_nearest_line)): Notice if we find a
filename or N_SO symbol past the offset, and use it to indicate
that there is no line number or function when appropriate.
Ian Lance Taylor [Wed, 12 Jun 1996 03:14:14 +0000 (03:14 +0000)]
* objdump.c (dump_reloc_set): Add sec parameter. Change all
callers. If with_line_numbers is set, display line numbers of
relocation entries.
* binutils.texi, objdump.1: Document -l with -r.
Fred Fish [Wed, 12 Jun 1996 03:10:51 +0000 (03:10 +0000)]
From Michael Snyder <[email protected]>:
* bcache.c (print_bcache_statistics): Avoid divide-by-zero
exception if one or more objfile has no symbols, such as when
a dynamic library has been stripped.
Ian Lance Taylor [Tue, 11 Jun 1996 22:25:55 +0000 (22:25 +0000)]
* xcofflink.c (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR for a
common symbol defined by the linker. Don't export function code
even if export_defineds is set.
PR 9856.
Stu Grossman [Tue, 11 Jun 1996 19:21:42 +0000 (19:21 +0000)]
* Makefile.in (INTERNAL_LDFLAGS): Add in flags from configure.
* configure configure.in: Only make sol-thread.o for native.
Also, switch to dlopened libthread_db.so.1.
* sol-thread.c: Switch to using dlopen to get the thread_db
library.
Ian Lance Taylor [Mon, 10 Jun 1996 23:32:34 +0000 (23:32 +0000)]
* config/tc-m68k.c (m68k_ip): Accept ABSL for 'O', so that `bfextu
d0{24:1},d0' works without an immediate prefix on the bit numbers.
(md_begin): Add digits to alt_notend_table.
(md_parse_option): Make s a const pointer.
Ian Lance Taylor [Mon, 10 Jun 1996 19:29:51 +0000 (19:29 +0000)]
* gas/all/cofftag.s, gas/all/cofftag.d: New test for COFF enum tag
with the same name as a global variable.
* gas/all/gas.exp: Run cofftag test for any COFF target.
Ian Lance Taylor [Mon, 10 Jun 1996 19:29:25 +0000 (19:29 +0000)]
* config/obj-coff.c (struct filename_list): Only define if not
BFD_ASSEMBLER.
(filename_list_head, filename_list_tail): Likewise.
(c_section_symbol): Remove unused BFD_ASSEMBLER version.
(obj_coff_endef, BFD_ASSEMBLER version): Don't set the debugging
flag for C_MOS, C_MOE, C_MOU, or C_EOS symbols, since they should
have a section of N_ABS rather than N_DEBUG. If we do a merge,
remove the new symbol from the list.
(obj_coff_endef, both versions): Call tag_insert even if there is
an old symbol with the same name, if the old symbol does not
happen to be a tag.
(coff_frob_symbol): Check SF_GET_TAG, C_EOF, and C_FILE outside of
the SF_GET_DEBUG condition. Don't call SA_SET_SYM_ENDNDX with a
symbol that will be moved to the end of the symbol list.
(coff_adjust_section_syms): Always call section_symbol for .text,
.data, and .bss.
(coff_frob_section): Likewise. Also, remove unused variable
strname.
Ian Lance Taylor [Mon, 10 Jun 1996 16:29:54 +0000 (16:29 +0000)]
* config/tc-ns32k.c (convert_iif): Call frag_grow rather than
manipulating frags directly.
(md_number_to_field): Adjust mem_ptr correctly if ENDIAN is
defined.
Ian Lance Taylor [Mon, 10 Jun 1996 16:15:05 +0000 (16:15 +0000)]
* app.c (do_scrub_chars): If '/' is LINE_COMMENT_START, check
whether the next character is '*' before checking whether we are
at the start of a line. Permit LINE_COMMENT_START to start a
comment in state 1 (seen some whitespace) as well, to match the
documentation.
Jeff Law [Sun, 9 Jun 1996 22:38:09 +0000 (22:38 +0000)]
* coff-h8300.c (h8300_reloc16_estimate): Fix many minor spacing
problems.
(h8300_reloc16_estimate, cases R_JMP1, R_JMP2): Adjust "dot"
correctly for the two variants. Allow relaxing if the target
is 128 bytes away since after relaxation it'll be 126 bytes away.
(h8300_reloc16_estimate, case R_PCRWORD): Correctly adjust
"dot" and "value". Allow relaxing if the target is 128 bytes
away since after relaxation it'll be 126 bytes away.
* reloc16.c (bfd_coff_reloc16_relax_section): Keep relaxing
the given section until nothing changes.
Improving corner case relaxing for jmp:16->bra:8, jmp:24->bra:8 and
bCC:16->bCC:8.
Re-relax a section if something changes; more relaxing opportunities
may be available.
Per Bothner [Sat, 8 Jun 1996 01:13:04 +0000 (01:13 +0000)]
* config.guess: Combine mips-mips-riscos cases, and use cpp to
distinguish sysv/svr4/bsd variants.
Based on a patch from Harlan Stenn <[email protected]>.
* emultempl/sunos.em: Include libiberty.h.
(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.
* ecoff.c (_bfd_ecoff_new_section_hook): Remove the _PDATA
alignment hack--we can get the lnnoptr info another way without
suddenly increasing the alignment requirements. Set the flags for
the _PDATA section.
(ecoff_compute_section_file_positions): Do so.
* emulparams/elf32bmip.sh (OTHER_GOT_SYMBOLS): Use ALIGN(16)
rather than . when computing _gp value. From Per Fogelstrom.
* emulparams/elf32lmip.sh (OTHER_GOT_SYMBOLS): Likewise.
* ldmain.c (main): Don't close and unlink the file on error, since
remove_output will do it anyhow.
* ldlang.c (open_output): Set boolean variable to true, not 1.
* configure.in: Define @SIMCONF@ depending on mips target.
* configure: Rebuild.
* Makefile.in (run): Add @SIMCONF@ to control simulator
construction.
* gencode.c: Change LOADDRMASK to 64bit memory model only.
* interp.c: Remove some debugging, provide more detailed error
messages, update memory accesses to use LOADDRMASK.
Per Bothner [Wed, 5 Jun 1996 03:48:09 +0000 (03:48 +0000)]
* config.guess: Merge with FSF:
Mon Jun 3 08:49:14 1996 Karl Heuer <[email protected]>
* config.guess (*:Linux:*:*): Add guess for sparc-unknown-linux.
Fri May 24 18:34:53 1996 Roland McGrath <[email protected]>
* config.guess (AViiON:dgux:*:*): Fix typo in recognizing mc88110.
Fri Apr 12 20:03:59 1996 Per Bothner <[email protected]>
* config.guess: Combine two OSF1 rules.
Also recognize field test versions. From [email protected].
* config.guess (dgux): Use /usr/bin/uname rather than uname,
because GNU uname does not support -p. From [email protected].
* bfd-in.h: Use #error if BFD_HOST_64_BIT can not be defined.
* bfd-in2.h: Rebuild.
* configure.in: Warn if there is no known 64 bit type.
* configure: Rebuild.
Jeff Law [Mon, 3 Jun 1996 17:49:28 +0000 (17:49 +0000)]
* source.c (find_source_lines): Check the time on the symtab's bfd if
it exists, else check the time on the exec_bfd.
Fixes net buglet reported by Michael Snyder @ NeXT.
* configure.in: Add calls to AC_CONFIG_HEADER, AC_CHECK_HEADERS,
AC_CHECK_LIB, and AC_CHECK_FUNCS. Change AC_OUTPUT to set
stamp-h.
* configure: Rebuild.
* config.in: New file, generated by autoheader.
* interp.c: Include "config.h". Include <stdlib.h>, <string.h>,
and <strings.h> if they exist. Replace #ifdef sun with #ifdef
HAVE_ANINT and HAVE_AINT, as appropriate.
* Makefile.in (run): Use @LIBS@ rather than -lm.
(interp.o): Depend upon config.h.
(Makefile): Just rebuild Makefile.
(clean): Remove stamp-h.
(mostlyclean): Make the same as clean, not as distclean.
(config.h, stamp-h): New targets.
* config/tc-mips.c (mips_ip): Don't call as_warn if we are setting
insn_error. Don't put the string "ERROR" in insn_error. Set
insn_error rather than calling as_warn for an unsupported opcode.
* config/tc-mips.c (md_parse_option): Check for a 64 bit format
before permitting -64.
* output-file.c (output_file_create): Remove duplicate
bfd_perror.
Ian Lance Taylor [Fri, 31 May 1996 21:46:14 +0000 (21:46 +0000)]
* config/tc-mips.c (md_begin): If -64, create a .MIPS.options
section rather than a .reginfo section.
(mips_elf_final_processing): If -64, write out 64 bit RegInfo
information.
Ian Lance Taylor [Fri, 31 May 1996 21:43:35 +0000 (21:43 +0000)]
* elf64-mips.c: Improve reloc special_functions and handling of
SHT_MIPS_OPTIONS section.
* elf32-mips.c (_bfd_mips_elf_hi16_reloc): Rename from
mips_elf_hi16_reloc and make globally visible.
(_bfd_mips_elf_lo16_reloc): Rename from mips_elf_lo16_reloc and
make globally visible.
(_bfd_mips_elf_got16_reloc): Rename from mips_elf_got16_reloc and
make globally visible.
(_bfd_mips_elf_gprel16_reloc): Rename from mips_elf_gprel16_reloc
and make globally visible.
(gprel16_with_gp): Check howto->src_mask before using value in
insn.
(_bfd_mips_elf_gprel32_reloc): Rename from mips_elf_gprel32_reloc
and make globally visible.
(gprel32_with_gp): Check howto->src_mask before fetching value.
(bfd_mips_elf_swap_options_in): New function.
(bfd_mips_elf_swap_options_out): New function.
(_bfd_mips_elf_set_private_flags): Rename from
mips_elf_set_private_flags and make globally visible.
(_bfd_mips_elf_copy_private_bfd_data): Rename from
mips_elf_copy_private_bfd_data and make globally visible.
(_bfd_mips_elf_merge_private_bfd_data): Rename from
mips_elf_merge_private_bfd_data and make globally visible.
(_bfd_mips_elf_section_from_shdr): Accept .MIPS.options as a name
for a SHT_MIPS_OPTIONS section.
(mips_elf32_section_from_shdr): Handle SHT_MIPS_OPTIONS section.
(_bfd_mips_elf_fake_sections): Consider .MIPS.options to be the
name of a SHT_MIPS_OPTIONS section.
(_bfd_mips_elf_set_section_contents): New function.
(mips_elf32_section_processing): Set the GP value in a
SHT_MIPS_OPTIONS section.
(_bfd_mips_elf_find_nearest_line): Rename from
mips_elf_find_nearest_line and make globally visible.
(bfd_elf32_set_section_contents): Define.
* elf-bfd.h (_bfd_mips_elf_hi16_reloc): Declare.
(_bfd_mips_elf_lo16_reloc): Declare.
(_bfd_mips_elf_gprel16_reloc): Declare.
(_bfd_mips_elf_got16_reloc): Declare.
(_bfd_mips_elf_gprel32_reloc): Declare.
(_bfd_mips_elf_set_private_flags): Declare.
(_bfd_mips_elf_copy_private_bfd_data): Declare.
(_bfd_mips_elf_merge_private_bfd_data): Declare.
(_bfd_mips_elf_find_nearest_line): Declare.
(_bfd_mips_elf_set_section_contents): Declare.
Ian Lance Taylor [Thu, 30 May 1996 23:08:47 +0000 (23:08 +0000)]
* config/tc-mips.c (mips_64): New static variable.
(mips_target_format): If mips_64, return elf64 targets rather than
elf32 ones.
(md_longopts): Add "32" and "64".
(md_parse_option): Handle -32 and -64.
(md_show_usage): Mention -32 and -64.
(cons_fix_new_mips): If mips_64, don't convert an 8 byte reloc to
a 4 byte one.
Ian Lance Taylor [Thu, 30 May 1996 22:33:51 +0000 (22:33 +0000)]
* elf64-mips.c: Extensive additions to provide better support for
writing files and for gas.
* elf32-mips.c (_bfd_mips_elf_object_p): New function, broken out
of mips_elf_object_p.
(mips_elf32_object_p): Rename from mips_elf_object_p; call
_bfd_mips_elf_object_p.
(_bfd_mips_elf_final_write_processing): Rename from
mips_elf_final_write_processing and make globally visible.
(_bfd_mips_elf_fake_sections): Rename from
mips_elf_fake_sections and make globally visible.
(_bfd_mips_elf_section_from_bfd_section): Rename from
mips_elf_section_from_bfd_section and make globally visible.
(_bfd_mips_elf_section_processing): New function, broken out of
mips_elf_section_processing.
(mips_elf32_section_processing): Rename from
mips_elf_section_processing; call
_bfd_mips_elf_section_processing.
(_bfd_mips_elf_symbol_processing): Rename from
mips_elf_symbol_processing and make globally visible.
(_bfd_mips_elf_read_ecoff_info): Rename from
mips_elf_read_ecoff_info and make globally visible.
(mips_elf32_ecoff_debug_swap): Rename from
mips_elf_ecoff_debug_swap.
* elf.c (_bfd_elf_symbol_from_bfd_symbol): Use asymbol rather than
struct symbol_cache_entry.
(_bfd_elf_validate_reloc): New function, moved in from
elfcode.h:validate_reloc.
* elfcode.h (validate_reloc): Remove; moved into elf.c and renamed
to _bfd_elf_validate_reloc. Change all callers.
* elf-bfd.h (bfd_section_from_shdr): Declare.
(_bfd_elf_symbol_from_bfd_symbol): Declare.
(_bfd_elf_validate_reloc): Declare.
(_bfd_mips_elf_object_p): Declare.
(_bfd_mips_elf_fake_sections): Declare.
(_bfd_mips_elf_section_from_bfd_section): Declare.
(_bfd_mips_elf_section_processing): Declare.
(_bfd_mips_elf_symbol_processing): Declare.
(_bfd_mips_elf_read_ecoff_info): Declare.
(_bfd_mips_elf_final_write_processing): Declare.
* elfxx-target.h (bfd_elfNN_get_reloc_upper_bound): Don't define
if already defined.