Jeff Law [Tue, 18 Jun 1996 22:55:30 +0000 (22:55 +0000)]
* scripttempl/h8300s.sc: New file for H8/S.
* emulpararms/h8300s.sh: New file for H8/S.
* Makefile.in (ALL_EMULATIONS): Add H8/S.
(e_h8300s.c): Add dependencies.
* configure.tgt: Add H8/S to targ_extra_emuls.
H8/S linker stuff. Sanitized until status of this code is known.
Ian Lance Taylor [Tue, 18 Jun 1996 21:15:35 +0000 (21:15 +0000)]
* config/tc-i386.c (md_assemble): When checking the size of a
register to set the size of an instruction, do a bitwise and with
Reg8 and Reg16 rather than requiring the type to be exactly Reg8
or Reg16.
Jeff Law [Tue, 18 Jun 1996 20:28:20 +0000 (20:28 +0000)]
* config/tc-h8300.c (parse_reg): Tweak error messages.
(build_bytes): Likewise.
(skip_colonthing): Handle :32 suffix.
(get_specific): Promote L_24 to L_32 if it makes a match.
Don't always promote L_8 to L_16.
(do_a_fix_imm): Clean up L_32 and L_24 handling.
H8/S related stuff that doesn't need to be sanitized.
start-sanitize-h8s
* config/tc-h8300.c (Smode): New variable.
(h8300hmode): Turn off Hmode.
(h8300smode): New function. Turn on Smode and Hmode.
(md_pseudo_table): New ".h8300s" pseudo-op.
(parse_reg): Handle "exr" register.
(get_operand): Handle bizarre syntax for "stm.l" and "ldm.l".
Handle "mach" and "machl" operands for ldmac.
(get_specific): Handle "stm.l" and "ldm.l".
(build_bytes): Handle "stm.l" and "ldm.l"; handle MACREG operands.
* config/tc-h8300.h (COFF_MAGIC): Handle H8/S magic number.
(Smode): Declare.
end-sanitize-h8s
Sanitized H8/S stuff until we know its status.
Jeff Law [Tue, 18 Jun 1996 19:50:54 +0000 (19:50 +0000)]
* gas/h8300/cbranchh.s: Switch into h8300h mode.
* gas/h8300/h8300.exp (H8/300H misc tests): Fix test names.
Just something I noticed.
* gas/h8300/{addsubs.s,bitops1s.s,bitops2s.s}: New tests for the
H8/S.
* gas/h8300/{bitops3.s,bitops4.s,cbranchs.s,logicals.s}: Likewise.
* gas/h8300/{branchess.s,compares.s,macs.s,decimals.s}: Likewise.
* gas/h8300/{incdecs.s,divmuls.s,miscs.s,multiples.s}: Likewise.
* gas/h8300/{movbs.s,movws.s,movls.s,pushpops.s}: Likewise.
* gas/h8300/{rotshifts.s,extends.s}: Likewise.
* gas/h8300/h8300.exp: Run them.
Sanitized away until status is clarified.
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.