* listing.c: Call xmalloc, not malloc; don't declare malloc.
* Changes to support SCO 3.2v4:
* read.c (s_align_bytes, s_align_ptwo): If not SEG_DATA or
SEG_BSS, fill with NOP_OPCODE.
* config/i386coff.mt: Add opcode/i386.h to TARG_CPU_DEPENDENTS.
* config/obj-coffbfd.c (do_relocs_for): Increment addr even if not
using ZERO_BASED_SEGMENTS.
(fill_section): If ZERO_BASED_SEGMENTS, set segment addresses, but
never set segment address for SEG_E2 (.bss) and don't write out
SEG_E2 contents. Set .init and .fini sections to STYP_TEXT.
(obj_coff_endef): Don't merge labels or symbols awaiting forward
definitions, and don't merge tags with non-tags. Check for .bf
rather than just checking whether the second character is b and
the third character is f.
(obj_coff_val): gcc can generate values which we don't handle
correctly; discard information for now, since it only affects the
debugging information.
(tag_find_or_name): Don't insert tags in the symbol table.
(yank_symbols): Don't merge labels.
(write_object_file): Don't define SUB_SEGMENT_ALIGN if it is
already defined. Fill subsegments with NOP_OPCODE, not 0. Don't
set segment address if ZERO_BASED_SEGMENTS.
(obj_coff_section): Accept and ignore a trailing quoted string, as
used in AT&T i386 syntax.
(fixup_segment): Take segment as argument. On the i386, adjust PC
relative addends by the segment vaddr.
* tc-i386.h: Define SUB_SEGMENT_ALIGN.
* tc-a29k.h: Define ZERO_BASED_SEGMENTS.
* tc-i386.c: (i386_operand): If I386COFF, accept any segment type.
Deleted some unused code.
Fixed some declarations to use PARAMS macro.
Fixed up configure.in for new targets.
Some whitespace/comment fixes.
Merged config/ChangeLog.
* Added WARN_SIGNED_OVERFLOW_WORD define to give an error if any
.word is < -32768 or > 32767. The -J flag causes the error to be
ignored. This is to catch over-sized switches generated by gcc on
systems which don't support the broken .word hack.
as.c (main): permit -J if WARN_SIGNED_OVERFLOW_WORD.
write.c (fixup_segment): check for signed .word overflow if
WARN_SIGNED_OVERFLOW_WORD.
* input-scrub.c (input_scrub_push): call input_file_begin, not
input_scrub_begin.
messages.c (as_perror): print ": " between the passed in error and
the strerror, like perror does.
* Makefile.in: use gas_target instead of modifying target_cpu.
From Steve Chamberlain:
Makefile.in: Handle m68*-*-coff*.
read.c, read.h: add mult argument to s_space
data, so that "bc" is available to 68040 cache instructions. Added
"tt0", "tt1", and 68ec030 variants.
(md_assemble): Complain if 68000 (only) and 68881 are specified.
(enum _register): Added TT0, TT1.
(m68k_ip, cases '3' and 't'): Handle new operand type codes. Pass
line number correctly in "internal error" messages. Don't print
architecture-mismatch message for operand errors.
From Colin Smith (colin@wrs.com):
* config/tc-m68k.c (m68k_ip, case '_'): Use addword twice rather than
install_operand.
* messages.c (as_warn): Use fputs, not fprintf, with a buffer that
has already been formatted (but may still contain %-characters).
(as_bad): Likewise.
Tue Aug 18 14:16:38 1992 Ian Lance Taylor (ian@cygnus.com)
* Makefile.in: always create installation directories. Removed
MINUS_G, set CFLAGS to default to -g, added FLAGS_TO_PASS, passed
FLAGS_TO_PASS to recursive makes.
* expr.c (floating_constant): Separate "=-" to avoid confusing
ancient or broken compilers.
* config/tc-m68k.c (m68k_ip): Mismatch error could also indicate
processor/opcode mismatch, so reword the error message.
(md_assemble): If no CPU has been set (even if FPU/PMMU
characteristics have been), default to 68020. Don't need extra
quotes around error string.
* app.c (process_escape): new function to handle escapes the right
way, (do_scrub_next_char): use new function
* cond.c (s_ifdef): do ifdef/ifndef right
* read.c (s_fill): make the , expressions optional like the doc
says
* config/tc-h8300.[ch]: better warnings
as data0_frchainP
* write.c (write_object_file): various changes to handle data in
the BSS segment in much the same was as stuff in the DATA segment.
* subsegs.c (subseg_change): allow and handle a change into SEG_BSS.
* expr.c(expr): allow SEG_REGISTER in expressions.
* read.c(pseudo_set): register expressions can be the source of a
set.
* subsegs.c (subseg_new): Now -R forces all changes to SEG_DATA to
goto SEG_TEXT (if a.out)
* write.c (write_object_file): If a.out don't use the old way for
-R.
* config/obj-a.out (s_sect): complain if the user tries to use a
subsegment with a value which might interfere with out -R hackery.
* config/tc-m68k.c (m68k_reg_parse): lookup names in symbol table
rather than use ugly if tree. (init_regtable): insert register
names into symbol table.