Commit graph

1023 commits

Author SHA1 Message Date
Jeff Law
001581c784 * app.c (do_scrub_next_char): Fix more bugs dealing with
labels without colons (For HPPA and MRI).
1993-12-29 19:33:31 +00:00
Torbjorn Granlund
45db9cafcf Making HPPA assembler case sensitive where it should be, and speeding it up
a factor of 2.
1993-12-26 22:36:02 +00:00
Ken Raeburn
0c3cab7aac Add TODO list item from observing Solaris assembler. 1993-12-21 17:54:38 +00:00
Ken Raeburn
0a75cb6cd8 sparc-coff reloc, symbols.c BSF_* changes 1993-12-20 21:54:33 +00:00
Ken Raeburn
e67a0640a0 * write.c (adjust_reloc_syms) [RELOC_REQUIRES_SYMBOL]: If no symbol is present
(i.e., relocation against absolute), create a phony local symbol, and use it in
the reloc.
(fixup_segment): When adjusting a reloc with an absolute symbol, have
TC_FORCE_RELOCATION control clearing add_symbolP too.

* config/tc-sparc.h (RELOC_REQUIRES_SYMBOL): Define.
1993-12-20 21:53:01 +00:00
Ken Raeburn
d3e3010b0b md_end, listing, obj-coff changes 1993-12-20 16:58:19 +00:00
Ken Raeburn
6868afe647 * as.c (main): Only invoke md_end if it's defined as a macro.
* tc.h (md_end): Don't declare it.
* config/tc-*.[ch] (md_end): Deleted, in cases where it doesn't do anything.
* config/tc-vax.c (vip_end): Deleted null function.
* config/tc-mips.c (md_mips_end): Renamed from md_end.
* config/tc-mips.h (md_mips_end): Declare.
(md_end): New macro, calls md_mips_end.

* write.c (write_object_file): Don't close output file.
* as.c (main): Close output file (if needed) after calling listing_print, which
should be after calling write_object_file, which sets the frag addresses.
1993-12-20 16:48:00 +00:00
Ken Raeburn
7e1766ba87 whitespace 1993-12-20 16:43:37 +00:00
Ken Raeburn
8b13fa4e5c * as.c (main): Call listing_print before BFD gets closed, when symbol data
hasn't been freed up yet.
1993-12-20 15:43:23 +00:00
Jeff Law
5ea18b5dd9 * config/tc-hppa.c (md_begin): Initialize "dummy_label".
(tc_gen_reloc, SOM version): For relocations which have no symbol,
        set sym_ptr_ptr to dummy_label.  Avoids lossage in generic BFD code.
1993-12-17 05:16:01 +00:00
Ken Raeburn
50f75add59 recent config/* & section_symbol changes 1993-12-16 21:56:03 +00:00
Ken Raeburn
c999fd9fc2 * config/tc-vax.c (tc_aout_fix_to_chars): Local variable NBYTES_R_LENGTH now
const.

* config/obj-*.c, config/tc-*.c: Omit superfluous "return" statements at ends
of functions.  Don't check for null return from hash_new, since it won't return
at all if there's no memory available.  Also, check for null return from
hash_insert, rather than zero-length string, as success indicator.
1993-12-16 21:31:22 +00:00
Ken Raeburn
a8a72d7480 read.c(lex_type): Don't make '[' a valid symbol name char. 1993-12-16 21:12:43 +00:00
Ken Raeburn
7387c35523 Makefile.in (RUNTEST): New variable.
(CHECKFLAGS): Pass it down.
1993-12-15 20:46:54 +00:00
Ken Raeburn
cf4aca575b forgot to check in some log messages last week 1993-12-15 20:44:45 +00:00
Ken Raeburn
29f5c3cb15 Some changes from trying to run test suite in California last week:
* Makefile.in (site.exp): Don't set ASFLAGS.  Quote value of OBJDUMPFLAGS in
case it's empty.  Use temporary names until the end; make creating site.exp the
final step.
(check): Pass in ASFLAGS.

* gas/all/gas.exp: Use all_ones proc.  Change regexp for matching
C comments to avoid bugs in latest expect code.
1993-12-15 16:28:46 +00:00
Ken Raeburn
30d3a445c4 removed an unnecessary comment 1993-12-15 16:23:27 +00:00
Jeff Law
26da035165 * configure.in (hppa*-*-osf*): Do not consider this a developmental
configuration.
1993-12-15 05:45:45 +00:00
Jeff Law
551d2fd4cf * config/tc-hppa.c (md_apply_fix): Handle cases where no
relocation will be emitted for 32bit formats.
1993-12-15 05:41:11 +00:00
Jeff Law
9d5a9b20fe * config/tc-hppa.c (md_apply_fix): Do not call hppa_field_adjust
for any of the 'T' field selectors.
1993-12-14 07:34:37 +00:00
Steve Chamberlain
2b5936ff87 * config/tc-h8500.c (build_bytes): Get reloc type right for a
%page operation. (md_assemble): Don't modify input_line_pointer.
	(mdcoff_sizemachdep): New function.
	* config/tc-h8500.h (TC_COFF_SIZEMACHDEP): New macro.
	* config/tc-z8k.c (get_operand): Delete bogus check.
1993-12-11 19:28:41 +00:00
Steve Chamberlain
816153a3e3 Recognise SH. 1993-12-11 19:21:19 +00:00
Ken Raeburn
a1328e79d0 output-file.c, write.c changes 1993-12-09 01:13:10 +00:00
Ken Raeburn
f5c324244d (number_to_chars_*): Delete bogus range checks. 1993-12-09 01:08:37 +00:00
Jeff Law
28b9501dcd * gas/m68k/disperr.s: New test.
* gas/m68k/all.exp: Run it.
1993-12-08 22:32:05 +00:00
Steve Chamberlain
ef7ce769aa Tue Dec 7 16:02:53 1993 Steve Chamberlain (sac@jonny.cygnus.com)
* config/tc-sh.c (md_convert_frag): Truncate disps before calling
	md_number_to_chars.  (md_assemble): Don't modify
	input_line_pointer.
1993-12-08 00:12:02 +00:00
David Edelsohn
677070311e * config/tc-h8300.c (md_assemble): Don't update input_line_pointer. 1993-12-06 19:50:09 +00:00
Jeff Law
dd2f509f3d * config/obj-som.[ch] (obj_read_begin_hook): Remove last change.
Breaks with the HP compilers.

        * config/tc-hppa.c (struct call_info): Remove fields which were
        set but never used.  Remove all code which sets those fields.
        (struct subspace_dictionary_chain): Likewise.
        (struct space_dictionary_chain): Likewise.
        (pa_desc): Delete useless function.  Delete all references.
        (hppa_tc_make_sections): No need to count the number of symbols for
        the symbol extension section.
1993-12-06 19:21:51 +00:00
Jeff Law
eb91665b4c * config/obj-som.c (obj_som_version): Pass version string to
SOM BFD backend.
        (obj_som_copyright): New function.  Much like obj_som_version.

        * config/tc-hppa.c (obj_copyright): Define as appropriate for
        SOM and ELF.
        (pa_copyright): Just a stub now.
1993-12-06 08:55:06 +00:00
Jeff Law
42ecb40985 * config/obj-som.c (obj_read_begin_hook): Delete unused function.
* config/obj-som.h (obj_read_begin_hook): Provide dummy definition.
        (TARGET_SYMBOL_FIELDS): Delete.  SOM isn't making use of them.
1993-12-06 07:19:13 +00:00
Jeff Law
9fad66b50b * gas/hppa/reloc/roundmode.s: New test.
* gas/hppa/reloc/reloc.exp: Run it.  Fix typo in last change.
1993-12-06 03:26:33 +00:00
Jeff Law
4165dcc239 * config/tc-hppa.c (tc_gen_reloc, SOM version): Handle relocation
expansion due to rounding mode selectors.  Handle R_[RDSN]_MODE
        relocations for selecting the current rounding mode.
1993-12-06 03:24:49 +00:00
Jeff Law
7b624bf25c * config/tc-hppa.c (evaluate_absolute): Support e_rrsel and
e_rlsel field selectors.
1993-12-06 01:07:03 +00:00
Jeff Law
585635c706 Fri Dec 3 09:47:30 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
* tc-hppa.c: (tc_gen_reloc): Addend for a plabel relocation should
        be either 0 or 2 (no static link or static link required).  Always
        assume no static link.
1993-12-03 19:20:30 +00:00
Jeff Law
753dcbbd0b * config/tc-hppa.c (md_apply_fix): Delete old wrapper function.
(md_apply_fix_1): Rename to md_apply_fix.  Fix argument decls.
	Fix comments in various places.  Always return a value.
	Avoid dereferencing a NULL fx_addsy.
	(hppa_force_relocation): Avoid dereferencing a NULL fx_addsy.
1993-12-03 18:57:28 +00:00
Ken Raeburn
9919256d50 Deleted RCS crap, since it frequently seems to wind up being the only
thing "changed", and somehow cvs thinks the file has really been modified.
1993-12-03 03:12:35 +00:00
Ken Raeburn
bfbfba45ba Lots of changes for:
- sparc[lite]-coff as well as sparc-lynx
 - producing coff (including debug info) under BFD_ASSEMBLER option
 - cleanup of cpu-specific code in non-cpu-specific files
   (especially write.c)
 - providing common code to avoid duplication in cpu-specific files
   (specifically, md_number_to_chars)
 - stylistic changes & misc cleanup

================

* config/tc-sparc.c (tc_gen_reloc): Make adjustment to addend be dependent on
howto fields, not on format flavour.

* struc-symbol.h (struct symbol): New fields sy_obj and sy_tc, defined as types
OBJ_SYMFIELD_TYPE and TC_SYMFIELD_TYPE, if those macros are defined.
* config/obj-coff.h (TC_SYMFIELD_TYPE, OBJ_SYMFIELD_TYPE): Define.
(TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): Don't define.
(sy_tc, sy_obj): Define so that the fields look like they used to, until all
references get changed.

* write.c (fixup_segment): Lots of variables no longer register.  Reordered
some code for easier reading.
* config/obj-coff.c (obj_coff_dim): dim_index no longer register.  Deleted
superfluous return statement.
(obj_coff_line, obj_coff_size, obj_coff_scl, obj_coff_type, obj_coff_val,
tag_init, tag_insert): Deleted superfluous return statement.
(align, obj_coff_section): Deleted debugging printfs.
* config/tc-i386.c (md_assemble): Discard some register decls.  Use assignment
rather than memcpy to copy template.
(op_hash, reg_hash, prefix_hash): Default C initialization of statics is
sufficient.
* config/tc-sparc.c (print_insn): Array Reloc is now const, and points to
const.

* config/obj-coff.h (TARGET_FORMAT): Only use coff-sparc-lynx if TE_LYNX; use
coff-sparc otherwise.
[USE_NATIVE_HEADERS]: Delete this code; it isn't used.

* write.c (fixup_segment): Call TC_VALIDATE_FIX, if defined, before processing
a fixup.  Call TC_ADJUST_RELOC_COUNT just before returning.  Remove some
i960-coff-specific code.
(TC_ADJUST_RELOC_COUNT): Default to doing nothing.
* config/tc-i960.h (TC_ADJUST_RELOC_COUNT) [OBJ_COFF]: Define.
(i960_validate_fix): Declare.
(TC_VALIDATE_FIX): Define.
* config/tc-i960.c (i960_validate_fix): New function.

* write.c (number_to_chars_littleendian): New function.  Write out bytes in
little endian order, doing size and range checking.
(number_to_chars_bigendian): New function, similar.
* write.h: Declare them.
* config/tc-*.c (md_number_to_chars): Use them.
* config/tc-vax.c (md_apply_fix): Ditto.
* config/tc-i386.c (md_apply_fix): Ditto.

* config/obj-coff.c: Rearranged code for handling line number data.
(line_fsym): Renamed from function_lineoff in BFD_ASSEMBLER case, since the
usage is different from non-BFD_ASSEMBLER case.
(in_function, clear_function, set_function): New macros, to combine some of the
functionality implemented in differnet ways in BFD_ASSEMBLER and non-... code.
Used in other functions that used to check function_lineoff &c.
(obj_emit_lineno): Split into two copies, one for BFD_ASSEMBLER, one for not.
Non-BFD_ASSEMBLER version now has temporary variable to contain char* pointer
pointed to by char** argument.  Always follow CROSS_COMPILE code; easier to
read that way.
(obj_coff_ln): Don't call add_lineno or c_line_new if appline is set.
(obj_coff_endef) [BFD_ASSEMBLER]: Don't do anything special for ".bf", it's
been done elsewhere.
(coff_frob_symbol): If ilne number data is pending, call add_linesym to flush it.
(coff_frob_file): Don't do that here.
* config/obj-coff.h (coff_frob_file): Declare.
(obj_frob_file): Define, to call it.

* config/tc-sparc.h (md_create_short_jump, md_create_long_jump,
md_estimate_size_before_relax: Define them as macros calling as_fatal.
* config/tc-sparc.c: Don't define them as functions.
1993-12-03 03:10:08 +00:00
Jeff Law
0a8ae18f38 * Makefile (clean): Depend on clean-here. 1993-12-02 07:37:51 +00:00
Ken Raeburn
9a048e4868 changes so far 1993-12-01 23:00:57 +00:00
Ken Raeburn
2713382f20 include fopen-bin.h 1993-12-01 22:53:14 +00:00
Ian Lance Taylor
4032d3f09e * config/tc-mips.c (macro): From wilson@cygnus.com: for M_L_DAB,
set coproc before doing goto ld.
1993-12-01 19:26:45 +00:00
Jeff Law
44c0de5363 * config/tc-hppa.c (hppa_elf_mark_end_of_function): New function.
(pa_process_exit, pa_procend): Call it for ELF objects.
1993-12-01 18:43:53 +00:00
Ian Lance Taylor
777ad64d69 * config/tc-mips.c (macro): Subtract 8 from offset in non PIC l.d
case.  See comment.
1993-12-01 17:13:12 +00:00
Jeff Law
b28171d0d0 * gas/hppa/more.parse/parse.exp: Test for error on for subspace
directive is an XFAIL for SOM assmeblers.

        * gas/hppa/reloc/reloc.exp: Remove XFAIL for relocation on
        cross-subspace call test.
1993-11-30 21:44:41 +00:00
Jeff Law
335d35c8bc * write.c (TC_FORCE_RELOCATION): Provide a default definition.
(fixup_segment): Allow the target machine to specify that a
        relocation must be generated for a particular fixup.  Remove
        #ifndef TC_HPPA hack.

        * config/tc-hppa.h (TC_FORCE_RELOCATION): Define.

        * config/tc-hppa.c (md_apply_fix_1): Never change fx_addsy to
        be NULL.  Only fixup_segment is supposed to do that.
        (hppa_force_relocation): New function.
1993-11-30 21:43:15 +00:00
Ian Lance Taylor
c751ad1914 * Makefile.in (stabs.o): Added dependencies. 1993-11-30 16:25:18 +00:00
Ian Lance Taylor
018f2bba3f * config/obj-ecoff.c (ecoff_frob_file): Don't call bfd_set_symtab. 1993-11-30 16:23:33 +00:00
Jeff Law
6e4eda3368 * gas/hppa/more.parse/appbug.s: New test.
* gas/hppa/more.parse/parse.exp: Run it.
1993-11-28 21:17:36 +00:00
Jeff Law
278cd007b4 * app.c (do_scrub_next_char): Output a TAB before any
.app* directive.
1993-11-28 21:16:24 +00:00
Jeff Law
81413fa20b * config/tc-hppa.c (fix_new_hppa): Make sure a sub_symbol
exists before trying to peek at its name.
	(pa_space): Do not call pa_align_subseg.  See hppa/unsorted/align3.s
	for testcase.
	(pa_align_subseg): Delete unused/unwanted function.
1993-11-28 20:15:21 +00:00