mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-30 13:33:53 +08:00
f9a6a8f09d
PR 27116 bfd/ * xcofflink.c: Correct spelling in comments. binutils/ * coffgrok.c (do_type): Correct spelling of auxiliary in errors. * doc/binutils.texi: Correct grammar. * readelf.c (process_version_sections): Correct spelling of auxiliary in warning. * testsuite/binutils-all/vax/objdump.exp: Comment grammar fix. config/ * override.m4: Correct comment grammar. gas/ * config/tc-i386.c: Correct comment spelling. * config/tc-riscv.c: Likewise. * config/tc-s390.c: Correct comment grammar. * doc/c-i386.texi: Correct spelling. * doc/c-s390.texi: Correct grammar. gold/ * tilegx.cc: Correct comment spelling. gprof/ * README: Correct grammar. * gprof.texi: Likewise. include/ * coff/internal.h: Correct comment spelling. * coff/sym.h: Likewise. * opcode/aarch64.h: Likewise. ld/ * configure.tgt: Correct comment grammar. * emultempl/m68hc1xelf.em: Likewise. * ld.texi: Correct grammar.
13131 lines
501 KiB
Plaintext
13131 lines
501 KiB
Plaintext
Sat Dec 30 23:42:51 1995 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* ecoff.c (ecoff_stab): Simplify. Correctly handle sym + offset
|
||
addresses for static variables.
|
||
|
||
Thu Dec 21 12:54:32 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* config/tc-ppc.c (mapping): Make @got give a real GOT relocation,
|
||
and xgot give the old toc16 relocation.
|
||
(md_apply_fix3): Support all GOT relocations.
|
||
|
||
Wed Dec 20 14:57:17 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-mips.c (load_address): Correctly handle a constant in
|
||
SVR4_PIC case. From Richard Kenner <kenner@vlsi1.ultra.nyu.edu>.
|
||
|
||
Fri Dec 15 14:25:07 1995 J.T. Conklin <jtc@rtl.cygnus.com>
|
||
|
||
* config/tc-sh.c (parse_reg): Recognize SH3 registers.
|
||
(get_specific): Handle A_SSR, A_SPC and A_REG_B.
|
||
(build_Mbytes): Handle REG_B.
|
||
|
||
Fri Dec 15 16:07:25 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* ecoff.c (ecoff_build_aux): Use new bfd_big_endian macro.
|
||
|
||
Fri Dec 15 12:11:48 1995 Raymond Jou <rjou@mexican.cygnus.com>
|
||
|
||
* mpw-make.sed: If linking, edit ALL_CFLAGS to CFLAGS.
|
||
|
||
Thu Dec 14 15:09:52 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/obj-coff.c (write_object_file): Set the s_align field to
|
||
the number of bytes, rather than to the power of 2.
|
||
|
||
Tue Dec 12 12:19:37 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* Makefile.in (DISTCLEAN_HERE): New variable.
|
||
(distclean): Use it.
|
||
(maintainer-clean): Depend upon clean-here rather than clean,
|
||
distclean, and clean-info. Run make maintainer-clean in doc.
|
||
Remove files listed in DISTCLEAN_HERE.
|
||
* doc/Makefile.in (maintainer-clean realclean): Split out from
|
||
distclean. Depend upon clean-info and distclean.
|
||
|
||
Mon Dec 11 16:23:51 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||
|
||
* mac-as.r: Fix copyright and version strings.
|
||
(cfrg): Use PROG_NAME instead of literal name.
|
||
|
||
Mon Dec 11 14:14:08 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* read.c (read_a_source_file): If tc_unrecognized_line is defined,
|
||
call it.
|
||
* config/tc-a29k.h (tc_unrecognized_line): Define.
|
||
* config/tc-a29k.c (a29k_unrecognized_line): New function.
|
||
(md_operand): Handle a29k style local dollar labels.
|
||
|
||
Wed Dec 6 17:52:52 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/obj-multi.h: If OBJ_MAYBE_ELF, define OBJ_SYMFIELD_TYPE.
|
||
|
||
Tue Dec 5 13:26:34 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* read.c (s_fill): If md_flush_pending_output is defined, call
|
||
it.
|
||
|
||
Mon Dec 4 15:10:53 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* config/obj-coff.c (size_section, fill_section, fixup_mdeps):
|
||
Treat rs_align_code like rs_align.
|
||
|
||
Sun Dec 3 16:46:54 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
|
||
|
||
* config/tc-arm.c (cp_address_required_here): Set pre_inc when
|
||
converting an absolute address into a PC-relative one.
|
||
|
||
Fri Dec 1 11:57:56 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||
|
||
* mpw-config.in: Don't always use te-generic.h for emulation.
|
||
(powerpc-apple-macos): Use emulation te-macos.h.
|
||
* mpw-make.sed (install, install-only): Edit in Mac-specific
|
||
install procedure.
|
||
|
||
Fri Dec 1 10:59:25 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* configure.in: Improve message about unsupported ELF targets.
|
||
* configure: Rebuild.
|
||
|
||
* config/tc-m88k.c (m88k_do_align): Correct check for whether fill
|
||
pattern is zero. From Manfred Hollstein.
|
||
|
||
Thu Nov 30 13:25:49 1995 Kim Knuttila <krk@cygnus.com>
|
||
|
||
* config/tc-ppc.c (ppc_pe_section): To get the alignment right for
|
||
the various idata sections, we check the name on the .section pseudo.
|
||
|
||
Thu Nov 30 11:23:42 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
|
||
|
||
* config/obj-coff.c (fixup_segment): If TC_M88K is defined, do not
|
||
add section's paddr to add_number; compatibility to native as and
|
||
ld forbids.
|
||
|
||
Wed Nov 29 23:14:27 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* configure.in: Treat m68k-sysv4 like m68k-elf, not m68k-sysv3.
|
||
|
||
* hash.c (struct hash_entry): Moved here...
|
||
* hash.h (struct hash_entry): ...from here.
|
||
|
||
* config/obj-elf.c (elf_frob_symbol): Don't free and clear sy_obj
|
||
if it's already known to be null.
|
||
|
||
Wed Nov 29 13:00:20 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* config/tc-ppc.c (md_apply_fix3): Don't adjust the value for 32
|
||
bit relocs converted to PC relative relocs. This turned out to
|
||
add the offset from the beginning of .text twice.
|
||
|
||
Tue Nov 28 10:42:36 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* stabs.c (s_stab_generic): In 's' case, free string from
|
||
obstack.
|
||
|
||
* config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Remove unused field
|
||
sy_name_offset.
|
||
* config/obj-multi.h (ELF_TARGET_SYMBOL_FIELDS) [OBJ_MAYBE_ELF]:
|
||
Ditto.
|
||
|
||
* subsegs.h (segment_info_type): Make bitfields unsigned.
|
||
|
||
* expr.h (struct expressionS): Make X_op and X_unsigned bitfields,
|
||
and move them together. On most systems this will reduce the
|
||
structure size by one word.
|
||
(operatorT): Define O_max.
|
||
* expr.c (expr_begin): Verify that X_op is wide enough to hold
|
||
O_max.
|
||
|
||
* read.c (pop_insert): Print error returned by hash table
|
||
insertion code.
|
||
|
||
* as.c (dump_statistics): Split out from main; dump some hash
|
||
table stats and target-specific stats.
|
||
(start_time): No longer automatic to main.
|
||
(main): Set file-level start_time and call dump_statistics at
|
||
exit. Exit by calling xexit.
|
||
(show_usage): Make --statistics description less specific.
|
||
* subsegs.c (subsegs_print_statistics): New function.
|
||
* write.c (write_print_statistics): New function.
|
||
(n_fixups): New static variable.
|
||
(fix_new_internal): Increment it.
|
||
* read.c (read_print_statistics): New function.
|
||
* read.h (read_print_statistics): Declare.
|
||
* symbols.c (symbol_print_statistics): New function.
|
||
* symbols.h (symbol_print_statistics): Declare.
|
||
* hash.c (hash_print_statistics): New function.
|
||
* hash.h (hash_print_statistics): Declare.
|
||
* config/tc-i386.c (i386_print_statistics): New function.
|
||
* config/tc-i386.h (i386_print_statistics): Declare.
|
||
(tc_print_statistics): New macro.
|
||
* messages.c (as_fatal, as_assert, as_abort): Use xexit, not
|
||
exit.
|
||
|
||
* hash.c (DELETED): Rewrite to use a valid but unique address.
|
||
(START_POWER): Reduce to 10.
|
||
(enum stat_enum): New enumerator, replacing STAT_* index macros.
|
||
Add new values for counting strcmp calls.
|
||
(GROW_FACTOR): New macro.
|
||
(hash_grow): Use GROW_FACTOR. Rewrite for quick returns instead
|
||
of nesting blocks.
|
||
(FULL_VALUE): New macro. Use 1/4 of table size instead of 1/2.
|
||
(hash_new): Use FULL_VALUE.
|
||
(struct hash_control): Definition moved here.
|
||
(hash_code): Don't mask to low bits.
|
||
(hash_ask): Mask returned hash code here. Check hash value before
|
||
calling strcmp; count strcmp calls.
|
||
* hash.h (struct hash_control): Declare, don't define, here.
|
||
(HASH_STATLENGTH): Deleted.
|
||
(struct hash_entry): Add field for hash code.
|
||
(hash_say, hash_apply): Don't declare.
|
||
|
||
* hash.c (destroy): Return void.
|
||
(applicatee): Ditto.
|
||
(main): Fix declarations.
|
||
(hash_apply): Return void. Argument `function' returns void. Put
|
||
inside "#ifdef TEST".
|
||
(hash_say): Define only if TEST is defined.
|
||
* hash.h (hash_apply, hash_say): Declarations deleted.
|
||
|
||
Mon Nov 27 13:18:25 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* configure: Rebuild with autoconf 2.7.
|
||
|
||
Tue Nov 21 18:39:01 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* aclocal.m4 (AC_PROG_CC): Remove local definition.
|
||
* configure: Rebuild with autoconf 2.6.
|
||
|
||
Mon Nov 20 17:26:00 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-ppc.c (ppc_debug_name_section_size): Remove.
|
||
(ppc_stabx): Don't increment ppc_debug_name_section_size.
|
||
(ppc_bc): Likewise.
|
||
(ppc_frob_file): Remove.
|
||
* config/tc-ppc.h (tc_frob_file): Don't define.
|
||
(ppc_frob_file): Don't declare.
|
||
|
||
Mon Nov 20 13:37:05 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* Makefile.in (TARG_CPU_DEP_alpha): Mention alpha-opcode.h.
|
||
* config/alpha-opcode.h: Include one-operand variants of jmp and
|
||
jsr.
|
||
|
||
* config/te-delt88.h: Renamed from te-delta88.h, to avoid conflict
|
||
with te-delta.h in 8.3 file systems.
|
||
* configure.in: Adjusted.
|
||
|
||
Thu Nov 16 12:49:38 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-mips.c (s_err): Remove; just use the one in read.c.
|
||
|
||
* config/m68k-parse.y (yylex): In MRI mode, '@' can start an octal
|
||
number.
|
||
* expr.c (operand): Handle MRI suffixes after unadorned 0.
|
||
|
||
Thu Nov 16 00:21:44 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
Version 2.6 released.
|
||
* Makefile.in (VERSION): Updated to 2.6.
|
||
|
||
* config/obj-coff.c (write_object_file): Change use of md_do_align
|
||
to pass a pointer rather than a fill value, to match other uses.
|
||
|
||
Wed Nov 15 03:52:00 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* config/tc-ns32k.h (TC_FIX_TYPE): Add missing semicolon.
|
||
|
||
* as.c (main): Move md_end call to just after call to
|
||
perform_an_assembly_pass. Delete cpu-specific code here.
|
||
* config/tc-i960.h (md_end): New macro, calls brtab_emit.
|
||
* config/tc-arm.c (md_end): Unused function deleted.
|
||
* config/tc-ns32k.c (md_end): Ditto.
|
||
|
||
* config/tc-i386.c (i386_align_code): New function, moved here
|
||
from HANDLE_ALIGN macro.
|
||
* config/tc-i386.h (HANDLE_ALIGN): Call it.
|
||
|
||
Mon Jul 31 14:53:19 1995 Alan Modra <alan@spri.levels.unisa.edu.au>
|
||
|
||
* config/tc-i386.h (md_do_align): cast fill and 0x90 to char
|
||
before comparing
|
||
|
||
Mon May 1 10:91:49 1995 Alan Modra <alan@spri.levels.unisa.edu.au>
|
||
|
||
* config/tc-i386.h (md_do_align): Make ".align n,0x90" generate
|
||
multi-byte nops to avoid changing gcc. The necessary gcc change
|
||
might break old assemblers.
|
||
|
||
Sat Apr 22 20:53:05 1995 Alan Modra <alan@spri.levels.unisa.edu.au>
|
||
|
||
* config/tc-i386.h (md_do_align, HANDLE_ALIGN): Add macros to
|
||
generate optimal multi-byte nop instructions for ".align n"
|
||
".align n,0x90", and aligns requiring more than 15 bytes of
|
||
padding still generate multiple 0x90's as before.
|
||
|
||
Mon Nov 13 17:40:21 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-m68k.c (s_mri_until): Call pop_mri_control.
|
||
|
||
Mon Nov 13 20:39:06 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||
|
||
* configure.in (ppc-*-macos*, ppc-*-mpw*): New configurations.
|
||
* configure: Update.
|
||
* mpw-make.sed: Reorder commands to make sed happier.
|
||
* config/te-macos.h: New file.
|
||
* config/tc-ppc.h (TARGET_FORMAT): Set correctly for PowerMac.
|
||
|
||
Sun Nov 12 21:14:56 1995 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* config/tc-hppa.c (pa_ip): Fix off-by-2 bug in length check for
|
||
conditional branches.
|
||
(md_apply_fix): Likewise.
|
||
|
||
Thu Nov 9 16:14:01 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-a29k.c (md_apply_fix): Warn if an attempt is made to
|
||
generate a reloc which the linker will not handle correctly. Fix
|
||
overflow checking--R_IREL is 18 bits, not 17.
|
||
|
||
Wed Nov 8 19:59:36 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/obj-coff.c (fixup_segment): Don't subtract md_pcrel_from
|
||
from a PC relative reloc if TC_A29K.
|
||
|
||
* config/tc-a29k.c (line_separator_chars): Restore '@'. Existing
|
||
code depends upon it.
|
||
|
||
* config/tc-a29k.c (md_operand): Handle $float, $double, and
|
||
$extend. Based on code from Eric Freudenthal
|
||
<freudenthal@nyu.edu>.
|
||
* config/tc-a29k.h (LEX_DOLLAR): Define.
|
||
* read.c (LEX_DOLLAR): Define if not defined.
|
||
(lex_type): Use LEX_DOLLAR.
|
||
|
||
Wed Nov 8 16:38:14 1995 Eric Freudenthal <freudenthal@nyu.edu>
|
||
|
||
* configure.in (a29k-nyu-sym1): New target, just like other a29k
|
||
targets.
|
||
|
||
Wed Nov 8 11:38:48 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/obj-coff.c (c_dot_file_symbol): Cast xmalloc return.
|
||
|
||
Tue Nov 7 09:14:35 1995 Kim Knuttila <krk@cygnus.com>
|
||
|
||
* config/tc-ppc.c (md_apply_fix3): Added BFD_RELOC_RVA. Currently
|
||
used only by "dlltool.c".
|
||
|
||
Mon Nov 6 18:51:26 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-alpha.c: Undefine inline if not __GNUC__.
|
||
(md_pseudo_table): Don't define "extern".
|
||
|
||
Sat Nov 4 00:51:21 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-ppc.c (ppc_biei): Force symbol into text_section.
|
||
|
||
* config/tc-ppc.c (md_show_usage): Put backslash at end of line.
|
||
|
||
Fri Nov 3 13:02:59 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* macro.c (macro_expand_body): Don't warn about == with a
|
||
nonexistent parameter, in case it is in a comment field.
|
||
|
||
* as.c (main): On TC_A29K, call macro_init with macro_alternate
|
||
set to 1.
|
||
* macro.c (get_any_string): Don't keep quotes if macro_strip_at is
|
||
set, even if macro_alternate is set.
|
||
(get_apost_token): If macro_strip_at, only skip kind if it is '@'.
|
||
(sub_actual): If macro_strip_at, and kind is '@', don't look up
|
||
the token unless it ended in '@'.
|
||
* config/tc-a29k.c (line_separator_chars): Remove '@'.
|
||
* doc/c-a29k.texi: Document macro usage on A29K.
|
||
|
||
Thu Nov 2 23:07:57 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-m68k.c (m68k_ip): Handle new 'W' place, meaning a
|
||
signed word.
|
||
(install_operand): Likewise.
|
||
|
||
* config/obj-elf.c (ecoff_debug_pseudo_table): Add "extern".
|
||
|
||
Wed Nov 1 15:17:02 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
|
||
|
||
* configure.in (m88k-motorola-sysv*): New target.
|
||
* configure: Rebuild.
|
||
* config/te-delta88.h: New file.
|
||
* config/obj-coff.c (write_object_file): Use md_do_align if it is
|
||
defined.
|
||
* config/tc-m88k.h (SUB_SEGMENT_ALIGN): Define.
|
||
(md_do_align): Define.
|
||
* config/tc-m88k.c: Include "subsegs.h".
|
||
(m88k_do_align): New function.
|
||
|
||
* config/te-delta.h (STRIP_UNDERSCORE): Don't define.
|
||
(COFF_NOLOAD_PROBLEM): Define.
|
||
(LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): Define.
|
||
|
||
Wed Nov 1 16:07:43 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* config/tc-i386.c (md_assemble): For a jump instruction with
|
||
non-constant target, require 7 available bytes in the current
|
||
frag, not 6.
|
||
|
||
Tue Oct 31 15:37:16 1995 Fred Fish <fnf@rtl.cygnus.com>
|
||
|
||
* config/obj-elf.h: Include bfd/elf-bfd.h rather than
|
||
bfd/libelf.h.
|
||
|
||
Tue Oct 31 16:34:28 1995 David Mosberger-Tang <davidm@azstarnet.com>
|
||
|
||
* configure.in (alpha-*-linux*): Use ecoff.
|
||
* configure: Rebuild.
|
||
* ecoff.c (ecoff_directive_extern): New function.
|
||
(ecoff_directive_weakext): New function.
|
||
(ecoff_build_symbols): Handle weak symbols.
|
||
(ecoff_setup_ext): Likewise.
|
||
(ecoff_frob_symbol): Warn about weak common symbols.
|
||
* ecoff.h (ecoff_directive_extern): Declare.
|
||
(ecoff_directive_weakext): Declare.
|
||
* symbols.c (S_IS_WEAK): New function.
|
||
* symbols.h (S_IS_WEAK): Declare.
|
||
* config/obj-ecoff.c (obj_pseudo_table): Add "extern" and
|
||
"weakext".
|
||
* config/tc-mips.c (mips_pseudo_table): Remove "extern".
|
||
(s_extern): Remove.
|
||
|
||
Tue Oct 31 13:29:08 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-ppc.c (ppc_lglobl): Do the right thing.
|
||
|
||
* config/tc-ppc.c (ppc_bb): Call SF_SET_PROCESS.
|
||
(ppc_eb): Likewise. Set the storage class to C_BLOCK, not C_FCN.
|
||
(ppc_frob_symbol): Don't change C_BLOCK symbols to C_HIDEXT.
|
||
* config/obj-coff.c (coff_frob_symbol): Don't call
|
||
SA_SET_SYM_ENDNDX with the current symbol; call it with the next
|
||
one. If OBJ_XCOFF, try to figure out whether the symbol is going
|
||
to be dropped.
|
||
|
||
* config/tc-ppc.c (md_pseudo_table): Add "bc" and "ec".
|
||
(ppc_stab_symbol): New static variable.
|
||
(ppc_change_csect): Check that ppc_toc_csect is not NULL.
|
||
(ppc_stabx): Set ppc_stab_symbol around call to symbol_make. Set
|
||
sy_tc.real_name to the stab string.
|
||
(ppc_bc, ppc_ec): New static functions.
|
||
(ppc_canonicalize_symbol_name): If ppc_stab_symbol is set, don't
|
||
do anything.
|
||
(ppc_symbol_new_hook): If ppc_stab_symbol is set, don't look for a
|
||
suffix.
|
||
(ppc_frob_symbol): Set BSF_NOT_AT_END for symbols with csect aux
|
||
entries.
|
||
|
||
* input-scrub.c (input_scrub_push): Reset sb_index.
|
||
|
||
Mon Oct 30 17:52:46 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* listing.c (listing_newline): Don't create a frag in the absolute
|
||
section.
|
||
|
||
Sat Oct 28 01:02:05 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-ppc.c (md_pseudo_table): Add "data" and "text".
|
||
(ppc_csect): Move most of the code to ppc_change_csect, and call
|
||
it.
|
||
(ppc_change_csect): New static function, taken from ppc_csect.
|
||
(ppc_section): New static function.
|
||
(ppc_saw_abs): New static varable.
|
||
(ppc_frob_symbol): Create aux entry for absolute symbols. Warn if
|
||
a symbol has no csect.
|
||
(ppc_adjust_symtab): New function.
|
||
* config/tc-ppc.h (tc_adjust_symtab): Define if OBJ_XCOFF.
|
||
(ppc_adjust_symtab): Declare if OBJ_XCOFF.
|
||
|
||
* write.c (write_object_file): If tc_adjust_symtab is defined,
|
||
call it just before the call to obj_adjust_symtab.
|
||
|
||
* symbols.c (symbol_find_or_make): Change name to be const.
|
||
* symbols.h (symbol_find_or_make): Update declaration.
|
||
|
||
Thu Oct 26 19:18:27 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* doc/as.texinfo (Align): Mention SH.
|
||
* doc/c-m68k.texi (M68K-Directives, .even): Describe behavior, not
|
||
.align value.
|
||
* doc/c-z8k.texi (Z8000 Directives, global): Fix minor typo.
|
||
(Z8000 Directives, even): Don't give numeric align value, instead
|
||
explain behavior.
|
||
|
||
Thu Oct 26 11:45:03 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
|
||
|
||
* config/tc-arm.c (do_ldst): Assemble ldr/str r0, [r1] as a
|
||
pre-increment instruction.
|
||
|
||
Wed Oct 25 11:59:24 1995 Per Bothner <bothner@kalessin.cygnus.com>
|
||
|
||
* Makefile.in (diststuff): Also make info.
|
||
(maintainer-clean realclean): Also make clean-info.
|
||
|
||
Tue Oct 24 15:21:33 1995 Jeffrey A Law (law@cygnus.com)
|
||
|
||
* config/tc-hppa.c (md_pseudo_table): Add new ".nsubspa" opcode.
|
||
(pa_subspace): For ".nsubspa", always create a new subspace
|
||
with the given attributes, even if one already exists with the
|
||
same name.
|
||
|
||
Tue Oct 24 14:50:38 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* config/tc-ppc.h (TC_FORCE_RELOCATION_SECTION): Rename from
|
||
TC_FORCE_RELOCATION, taking an additional section argument. If
|
||
the section of the target symbol is not the same as the current
|
||
section, always force the relocation to be used.
|
||
(MD_PCREL_FROM_SECTION): New macro to call md_pcrel_from_section.
|
||
|
||
* config/tc-ppc.c (md_pcrel_from_section): Rename from the
|
||
md_pcrel_from function, taking an additional section argument.
|
||
Invoke TC_FORCE_RELOCATION_SECTION instead of TC_FORCE_RELOCATION.
|
||
|
||
* write.c (TC_FORCE_RELOCATION_SECTION): Define in terms of the
|
||
older TC_FORCE_RELOCATION if not defined.
|
||
(MD_PCREL_FROM_SECTION): If not defined, invoke md_pcrel_from.
|
||
(fixup_segment): Use MD_PCREL_FROM_SECTION instead of
|
||
md_pcrel_from, and TC_FORCE_RELOCATION_SECTION instead of
|
||
TC_FORCE_RELOCATION.
|
||
|
||
Mon Oct 23 16:20:04 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* input-scrub.c (as_where): Set name to null pointer if we don't
|
||
have a file name.
|
||
* messages.c (identify): Only print filename if non-null.
|
||
(as_show_where): Ditto, for line number too.
|
||
(as_warn_internal, as_bad_internal): Ditto.
|
||
|
||
* input-file.c (input_file_open): If the input file can't be
|
||
opened, consider it an error.
|
||
|
||
Mon Oct 23 11:15:44 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
|
||
|
||
* config/tc-mips.c: Added mips_4100 control, and support for
|
||
accepting the 4100 as a MIPS architecture variant (md_begin,
|
||
macro_build, mips_ip, md_parse_option). Adding suitable
|
||
command-line OPTIONs, and updating the help text (md_show_usage).
|
||
|
||
Wed Oct 18 13:20:32 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* subsegs.c (subseg_begin): Only set absolute_frchain.fix_* when
|
||
BFD_ASSEMBLER is defined.
|
||
|
||
* Use one active frag and one obstack per frag chain:
|
||
* frags.c (frags): Variable deleted.
|
||
(frag_alloc): New function.
|
||
(frag_grow, frag_more, frag_variant, frag_now_fix,
|
||
frag_append_1_char): Refer to frchain_now->frch_obstack instead of
|
||
frags variable.
|
||
(frag_new): Ditto. Verify that frch_last and frag_now match on
|
||
entry and exit, and that old frag_now has non-zero type. Replace
|
||
"know" uses with "assert". Use frag_alloc instead of mucking with
|
||
obstack alignment.
|
||
* frags.h (frags): Declaration deleted.
|
||
* subsegs.h (struct frchain): Add new field frch_frag_now.
|
||
* subsegs.c (frchains, dummy_frag, absolute_frchain): New static
|
||
variables.
|
||
(subsegs_begin): Initialize frchains obstack. Under gcc, don't
|
||
give it any stricter alignment than frchainS structures need. Do
|
||
not initialize frags obstack. Set frag_now to point to
|
||
dummy_obstack. Initialize absolute_frchain.
|
||
(subseg_set_rest): Save and restore frag_now in frch_frag_now
|
||
field of frchainS. Don't create new frags on section switch, and
|
||
use frag_alloc when creating a new frag chain. For absolute
|
||
section, set frchain_now to absolute_frchain. Verify that
|
||
frch_last and frag_now match on entry and exit. Initialize
|
||
per-chain obstack, and under gcc, set required alignment to that
|
||
needed by fragS structure.
|
||
|
||
* write.c (chain_frchains_together_1): Verify fr_type is nonzero.
|
||
|
||
* stabs.c (get_stab_string_offset): Only copy input string if a
|
||
fresh copy is needed, not if the section already exists.
|
||
(s_stab_generic): Cache stab section name to bypass lookups, since
|
||
usually it will match. Could be made faster still by changing the
|
||
memory allocation rules.
|
||
(s_xstab): Cache section name to bypass repeated string
|
||
allocation.
|
||
|
||
* frags.c (frag_new): Deleted register declarations.
|
||
|
||
* listing.c (frag_now): Don't declare.
|
||
|
||
* as.c (chunksize): New variable.
|
||
(debug_memory): New variable.
|
||
(main): If debug_memory is set, reduce chunksize and
|
||
_bfd_chunksize.
|
||
* as.h (chunksize): Declare it.
|
||
* read.c (read_begin): Use it.
|
||
|
||
* config/tc-alpha.c (md_shortopts): Include 'g'.
|
||
(md_parse_option): Ignore it.
|
||
|
||
* Makefile.in (distclean): Remove Makefile and config.status from
|
||
testsuite directory.
|
||
(clean-here): Don't delete testsuite. Instead, delete only the
|
||
files within it that would be generated by running tests.
|
||
|
||
* config/tc-hppa.c (hppa_elf_mark_end_of_function): Call
|
||
frag_now_fix instead of accessing obstack info directly.
|
||
* config/tc-arm.c (s_ltorg): Ditto.
|
||
(md_assemble): Ditto.
|
||
|
||
* config/tc-i386.c (md_assemble): Call frag_grow instead of
|
||
obstack_room.
|
||
|
||
Wed Oct 18 12:22:59 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* stabs.c (aout_process_stab): Insert debug symbol into symbol
|
||
chain after parsing value expression, if any, to avoid separating
|
||
continued .stabs lines.
|
||
|
||
Mon Oct 16 10:56:41 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-mips.c (mips_elf_pseudo_table): Remove.
|
||
(mips_pop_insert): Don't call pop_insert on mips_elf_pseudo_table.
|
||
|
||
Mon Oct 16 07:07:37 1995 Michael Meissner <meissner@wogglebug.tiac.net>
|
||
|
||
* config/tc-ppc.c (md_begin): Use new flags PPC_OPCODE_COMMON for
|
||
-mcom support and PPC_OPCODE_ANY for -many.
|
||
(md_parse_option): Ditto.
|
||
(ppc_arch): Ditto.
|
||
(md_begin): For duplicate instructions, print all duplicates
|
||
before aborting.
|
||
|
||
Sun Oct 15 22:06:14 1995 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* config/tc-ppc.c (md_parse_option): Support for -mcom to turn on
|
||
common mode operation.
|
||
(md_show_usage): Add -mcom to usage message.
|
||
|
||
Fri Oct 13 13:32:45 1995 steve chamberlain <sac@slash.cygnus.com>
|
||
|
||
* expr.c (op_rank): Add O_symbol_rva.
|
||
* expr.h (operatorT): Add O_symbol_rva.
|
||
* read.c (cons_worker): Set O_symbol_rva when necessary.
|
||
* write.c (fix_new_exp): Understand O_symbol_rva.
|
||
|
||
Tue Oct 10 11:34:14 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-mips.c: Correct s_cons arguments. From Michael
|
||
Joosten <joost@ori.cadlab.de>.
|
||
|
||
Mon Oct 9 19:59:53 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-ppc.c (ppc_macro): Make count unsigned.
|
||
(ppc_biei): Set segment to now_seg and value to coff_n_line_nos.
|
||
(ppc_frob_symbol): Handle C_BINCL and C_EINCL symbols by setting
|
||
the fix_line field.
|
||
* config/obj-coff.c (coff_n_line_nos): Rename from n_line_nos, and
|
||
make non-static. Change all users.
|
||
* config/obj-coff.h (coff_n_line_nos): Declare.
|
||
|
||
Fri Oct 6 16:24:27 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* configure.in (AC_ARG_WITH(bfd-assembler)): Fix help message.
|
||
|
||
* config/obj-elf.c (obj_elf_common): Convert specified byte
|
||
alignment to power of two. Set size of local bss symbol.
|
||
|
||
* config/tc-m68k.c (tc_gen_reloc): Fix typo in variable name.
|
||
|
||
Fri Oct 6 15:22:25 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* sb.c, macro.c: Decide whether to include <string.h> or
|
||
<strings.h> just as as.h does.
|
||
|
||
Fri Oct 6 09:55:33 1995 Doug Evans <dje@canuck.cygnus.com>
|
||
|
||
* Makefile.in (site.exp): Fix setting of $srcdir.
|
||
|
||
* config/tc-arm.c (md_atof): Fix little-endian output.
|
||
* config/tc-arm.h (ARM_BI_ENDIAN): Move definition so defined for
|
||
all coff targets.
|
||
|
||
Thu Oct 5 20:17:30 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* doc/as.texinfo: Split out the NS32k family documentation,
|
||
despite its being commented out for now.
|
||
* doc/c-ns32k.texi: New file.
|
||
|
||
* sb.c, macro.c: Include string.h.
|
||
|
||
* Makefile.in (comparison): Only check *.o; we don't care if
|
||
timestamps inserted by the native linker differ.
|
||
|
||
* config/tc-alpha.c (alpha_align): Only fill with a no-op pattern
|
||
if alignment stricter than 4 bytes is requested; in that case,
|
||
align to a 4-byte boundary first.
|
||
|
||
Thu Sep 28 19:35:27 1995 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* config/obj-vms.c (VMS_RSYM_Parse): eliminate "might be used
|
||
uninitialized" warning for `Max_Source_Offset'.
|
||
|
||
Wed Oct 4 16:17:02 1995 Kim Knuttila <krk@cygnus.com>
|
||
|
||
* config/tc-ppc.c (parse_toc_entry): New function to parse [toc]
|
||
qualifiers and detect errors if present.
|
||
(md_assemble): Add call to parse_toc_entry. Also added some support
|
||
for the [tocv] qualifier.
|
||
(ppc_pe_tocd): New function to support data in the toc section.
|
||
|
||
Wed Oct 4 14:03:39 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-ppc.c (ppc_frob_symbol): Don't create an aux entry for
|
||
an absolute symbol.
|
||
|
||
Tue Oct 3 12:18:19 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-m68k.c (isword): Accept all values from -65536 to
|
||
+65535, so ~VAL will not be rejected.
|
||
|
||
* cond.c (s_endif): Call demand_empty_rest_of_line. In MRI mode,
|
||
skip characters after the pseudo-op.
|
||
(s_else): Likewise.
|
||
* read.c (get_line_sb): Don't look past buffer_limit.
|
||
(s_include): In MRI mode, skip characters after the file name.
|
||
|
||
Mon Oct 2 16:15:27 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/m68k-parse.y (m68k_reg_parse): In MRI mode, permit
|
||
periods in register names.
|
||
|
||
Sat Sep 30 23:03:31 1995 Jeff Law (law@hurl.cygnus.com)
|
||
|
||
* config/tc-hppa.c (hppa_fix_adjustable): DP relative relocs
|
||
are not adjustable in SOM to avoid confusing the optimizing
|
||
linker.
|
||
|
||
Fri Sep 29 15:18:08 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
Add some support for i960 MRI compatibility mode.
|
||
* config/tc-i960.c (md_pseudo_table): Add endian.
|
||
(get_args): Don't discard a space between alphanumeric characters.
|
||
(get_cdisp): Change text_section to now_seg.
|
||
(s_endian): New static function.
|
||
* config/tc-i960.h (MRI_MODE_NEEDS_PSEUDO_DOT): Define.
|
||
* expr.h (operatorT): Add O_logical_not, O_logical_and, and
|
||
O_logical_or.
|
||
* expr.c (operand): Treat '!' as logical not operator. If
|
||
TC_I960, in MRI mode permit `sizeof secname' and `startof
|
||
secname'.
|
||
(op_rank): Bump values by 2 to make room for && and ||. Add
|
||
entries for !, &&, and ||.
|
||
(expr_begin): Only do MRI changes if TC_M68K.
|
||
(operator): Recognize || and &&.
|
||
(expr): Handle new operatorT values.
|
||
* symbols.c (resolve_symbol_value): Handle new operatorT values.
|
||
(print_expr_1): Likewise.
|
||
* read.c (potable): Add debug, err, irep, irepc, print, purgem,
|
||
and rep.
|
||
(read_a_source_file): Handle MRI_MODE_NEEDS_PSEUDO_DOT.
|
||
(mri_comment_field): Only handle weird comments if TC_M68K.
|
||
(s_err): New function.
|
||
(s_org): Only punt in MRI mode if TC_M68K.
|
||
(s_mri_sect): Write TC_I960 version.
|
||
(s_print, s_purgem): New functions.
|
||
* read.h (s_err, s_print, s_purgem): Declare.
|
||
* cond.c (s_ifeqs): Implement.
|
||
(ignore_input): Handle MRI_MODE_NEEDS_PSEUDO_DOT.
|
||
* macro.c (macro_strip_at): New static variable.
|
||
(macro_init): Add strip_at parameter.
|
||
(do_formals): If macro_strip_at, change NARG to $NARG.
|
||
(define_macro): Skip a comma after the macro name.
|
||
(get_apost_token): Skip character if macro_strip_at, even if
|
||
macro_mri.
|
||
(macro_expand_body): If macro_strip_at, don't recognize parameters
|
||
in strings unless they are preceded by an '@'. If macro_strip_at,
|
||
pass '@' as strip character to sub_actual. If macro_strip_at,
|
||
strip '@' characters.
|
||
(macro_expand): If macro_strip_at, change NARG to $NARG.
|
||
(delete_macro): New function.
|
||
(expand_irp): Skip leading and trailing '"' characters if irpc.
|
||
* macro.h (macro_init): Mention new strip_at parameter.
|
||
(delete_macro): Declare.
|
||
* as.c (main): If TC_I960, pass flag_mri to macro_init as
|
||
strip_at; otherwise, pass 0.
|
||
* gasp.c (process_pseudo_op): Pass 0 to macro_init as strip_at.
|
||
(main): Likewise.
|
||
* doc/as.texinfo: Document i960 MRI mode.
|
||
|
||
* as.c (show_usage): Mention --defsym.
|
||
|
||
Thu Sep 28 19:25:04 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||
|
||
* mpw-config.in: Translate "powerpc" into "ppc", remove gen of
|
||
VERSION, move gen of "conf" here from makefile.
|
||
* mpw-make.sed: New file, sed commands to translate Unix makefile
|
||
into MPW syntax.
|
||
* mpw-make.in: Remove.
|
||
* mac-as.r: New file, Mac resource file.
|
||
* as.h (inline): Don't decide about defining if __MWERKS__,
|
||
remove redundant conditional and definition.
|
||
|
||
* stabs.c (s_stab_generic): Fix syntax for OBJ_PROCESS_STAB.
|
||
|
||
Thu Sep 28 15:43:15 1995 Kim Knuttila <krk@nellie>
|
||
|
||
* config/tc-ppc.c (md_apply_fix3): Removed some TE_PE specific
|
||
manipulations, since I can't prove they're needed.
|
||
(md_begin): Removed init_regtable, insert_reg, and the call points.
|
||
(register_name): New function. Parses a register name, if appropriate.
|
||
(md_assemble): Added call to register_name to handle symbolic names.
|
||
(ppc_pe_section): Removed all duplicate IMAGE defines, and include
|
||
coff/pe.h instead.
|
||
|
||
Thu Sep 28 12:09:19 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-ppc.h (tc_fix_adjustable): Define.
|
||
(ppc_pe_fix_adjustable): Declare.
|
||
* config/tc-ppc.c (ppc_pe_fix_adjustable): New function.
|
||
|
||
Thu Sep 28 01:11:58 1995 Doug Evans <dje@deneb.cygnus.com>
|
||
|
||
* config/tc-arm.h (TARGET_FORMAT): Define for arm-coff.
|
||
|
||
Wed Sep 27 12:53:58 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* symbols.c (S_IS_LOCAL): All symbols in reg_section are local.
|
||
|
||
* config/tc-ppc.h (OBJ_XCOFF): Define if OBJ_COFF and not TE_PE.
|
||
Change OBJ_COFF checks to check OBJ_XCOFF instead.
|
||
(TARGET_FORMAT): Fully parenthesize.
|
||
(LEX_QM): Define if TE_PE.
|
||
* config/tc-ppc.c: Replace OBJ_COFF by OBJ_XCOFF throughout.
|
||
Remove checks of TE_PE within #ifdef OBJ_XCOFF sections.
|
||
(init_regtable): Make i unsigned.
|
||
(ppc_set_current_section): Rename from setCurrentSection. Change
|
||
all callers.
|
||
(ppc_arch): Return after as_fatal to avoid gcc warning.
|
||
(md_assemble): Only declare reloc if OBJ_ELF. Add default to
|
||
switch on fixups[i].reloc to avoid gcc warning.
|
||
(IMAGE_SGN_LNK_OTHER): Fix nested comment.
|
||
(ppc_pe_function): Don't call ppc_canonicalize_symbol_name.
|
||
(ppc_frob_symbol): Remove TE_PE section checks.
|
||
(md_estimate_size_before_relax): Return after abort to avoid gcc
|
||
warning.
|
||
(md_apply_fix3): Add BFD_RELOC_16_GOT_PCREL to switch.
|
||
* read.c (LEX_QM): Define as 0 if not defined.
|
||
(lex_type): Use LEX_QM for '?'.
|
||
|
||
* configure.in: No need to check whether ${cpu_type} is powerpc;
|
||
it never will be.
|
||
* configure: Rebuild.
|
||
|
||
Wed Sep 27 11:33:38 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* config/tc-ppc.c (md_apply_fix3): Remove Sep 26 changes to this
|
||
function, keeping other Sep. 26 changes.
|
||
|
||
Wed Sep 27 10:29:13 1995 Kim Knuttila <krk@nellie>
|
||
|
||
* configure (emulations): Added support for ppcle-*-[pe|winnt]
|
||
(target_frag): Removed an extraneous PPC definition.
|
||
* configure.in (emulations): Same
|
||
* config/tc-ppc.h:
|
||
* config/tc-ppc.c (md_pseudo_table): Base support for new or altered
|
||
pseudo ops - <previous, pdata, ydata, reldata, rdata, ualong, znop,
|
||
section, comm, function> There will be more.
|
||
(pre_defined_registers): Predefined reg table to name registers, etc
|
||
(md_begin): Setup reg table initialization
|
||
(md_assemble): Initial [toc]x(rtoc) support
|
||
(ppc_frob_label): Removed some xcoff specific processing from TE_PE
|
||
(ppc_frob_symbol): Removed some xcoff specific processing from TE_PE
|
||
Added support for more predefined sections
|
||
(ppc_frob_section): Removed some xcoff specific processing from TE_PE
|
||
(ppc_fix_adjustable): Removed from TE_PE mainline
|
||
(md_apply_fix3): For TE_PE toc entries, we don't need to mess
|
||
with fx_addnumber. Removed for the time being.
|
||
(lots): Put back missing assignments to ppc_current_csect.
|
||
|
||
Tue Sep 26 14:57:59 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* config/tc-ppc.c (ppc_elf_suffix): Support all of the V.4
|
||
relocations.
|
||
(ppc_elf_cons): Remove restriction that @ suffixes must be done
|
||
with .long. Add error if relocation does not fit in the number of
|
||
bytes provided.
|
||
(md_assemble): For absolute branches, map PC relative relocations
|
||
back into an equivalent absolute relocation.
|
||
(md_pcrel_from): If TC_FORCE_RELOCATION is true, relocation offset
|
||
is 0, not segment start.
|
||
(md_apply_fix3): Don't bother writing addend into the instruction,
|
||
since it is ignored, given that we use RELA relocations for ELF.
|
||
|
||
* config/tc-ppc.h (TC_FORCE_RELOCATION): Define to force all
|
||
branch prediction relocations to always be emitted.
|
||
|
||
Mon Sep 25 16:08:43 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* config/tc-ppc.c (ppc_elf_suffix): Lower case reloc before
|
||
testing.
|
||
(md_assemble): Be more robust in terms of relocations.
|
||
(md_apply_fix3): Allow 14 bit relocs to be emitted for external
|
||
symbols in addition to 26 bit relocs. Properly insert 26/14 bit
|
||
reloc value fields into the instruction stream.
|
||
|
||
Mon Sep 25 00:23:16 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-arm.c (md_atof): Output little endian constants in
|
||
little endian mode.
|
||
|
||
* config/obj-coff.c (obj_coff_section): Pass &type, not type,
|
||
s_mri_sect.
|
||
|
||
* configure.in: Fix typo: fmt-elf to fmt=elf.
|
||
|
||
Fri Sep 22 16:34:46 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* config/tc-ppc.c (ppc_elf_suffix): Rewrite to use a table of
|
||
strings and relocations they represent. Add @br{,n}taken for
|
||
branch taken/not taken support.
|
||
(md_apply_fix3): Add BFD_RELOC_PPC_B16_BR{,N}TAKEN support.
|
||
|
||
Thu Sep 21 21:10:17 1995 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* config/tc-ppc.c (md_parse_option): -mrelocatable-lib now only
|
||
sets EF_PPC_RELOCATABLE_LIB and not also EF_PPC_RELOCATABLE.
|
||
|
||
Thu Sep 21 16:30:56 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* subsegs.c (subseg_set): Permit SEG_ABSOLUTE in know expression.
|
||
* expr.c (expr): Account for new operatorT values in know
|
||
expression.
|
||
|
||
* write.c (fixup_segment): Clear fixp->fx_subsy if the relocation
|
||
is fully resolved.
|
||
|
||
Thu Sep 21 14:11:49 1995 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* config/tc-ppc.c (ppc_flags): New variable to hold the flag bits
|
||
to set in the ELF header.
|
||
(md_parse_option): Add support for -mrelocatable-lib. Make both
|
||
-mrelocatable and -mrelocatable-lib set ppc_flags.
|
||
(md_begin): Set ELF flags with ppc_flags.
|
||
|
||
Wed Sep 20 13:01:52 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* Makefile.in (maintainer-clean): New target, synonym for
|
||
realclean. Add GNU standard maintainer-clean echos.
|
||
* doc/Makefile.in (maintainer-clean): New target, synonym for
|
||
realclean.
|
||
|
||
Tue Sep 19 11:31:31 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-m68k.c (m68k_ip): Reject immediate operands for '%'.
|
||
|
||
* config/tc-m68k.c (m68k_ip): Reject immediate operands for '|'.
|
||
Replace 'P' with '0', '1', and '2'.
|
||
|
||
* config/tc-m68k.c (parse_mri_control_operand): Change leftstop
|
||
and rightstop to not be const.
|
||
(parse_mri_control_expression): Likewise.
|
||
(build_mri_control_operand): Likewise. Use m68k_ip_op to examine
|
||
the operand, not m68k_reg_parse.
|
||
(s_mri_if): In MRI mode, stop at the first '*'.
|
||
(s_mri_while): Likewise.
|
||
(s_mri_else): In MRI mode, ignore trailing characters.
|
||
(s_mri_endi, s_mri_break, s_mri_next, s_mri_for): Likewise.
|
||
(s_mri_endf, s_mri_repeat, s_mri_until, s_mri_endw): Likewise.
|
||
* config/m68k-parse.y: Revert yesterday's change.
|
||
* config/m68k-parse.h: Revert yesterday's change.
|
||
|
||
Mon Sep 18 15:22:28 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-m68k.c (parse_mri_control_operand): Change leftstart
|
||
and rightstart to not be const.
|
||
(parse_mri_control_expression): Likewise.
|
||
(build_mri_control_operand): Likewise. If the left side of the
|
||
comparison is a register, and the right side is not, swap the two
|
||
sides.
|
||
* config/m68k-parse.y (m68k_reg_parse): Make globally visible.
|
||
* config/m68k-parse.h (m68k_reg_parse): Declare.
|
||
|
||
* read.c (mri_comment_field): New function.
|
||
(mri_comment_end): New function.
|
||
(s_align_bytes): Use mri_comment_field.
|
||
(s_align_ptwo, s_comm, s_mri_common, s_fail, s_globl): Likewise.
|
||
(s_float_space, s_struct): Likewise.
|
||
(s_space): Use mri_comment_field rather than doing it by hand.
|
||
(cons_worker, equals): Likewise.
|
||
(s_end): Ignore comments starting with '*' or '!'.
|
||
* read.h (mri_comment_field): Declare.
|
||
(mri_comment_end): Declare.
|
||
* cond.c (s_if): Use mri_comment_field.
|
||
* config/tc-m68k.c (s_chip, s_reg): Likewise.
|
||
|
||
* write.c (fixup_segment): Handle ABS-sym in -sym case rather than
|
||
sym-sym case.
|
||
* config/obj-coff.c (fixup_segment): Likewise. Permit negative
|
||
symbols if TC_M68K.
|
||
* config/tc-m68k.c (tc_coff_fix2rtype): If fx_tcbit is set, return
|
||
R_RELLONG_NEG.
|
||
(tc_gen_reloc): If fx_tcbit is set, abort.
|
||
(md_apply_fix_2): For a negative reloc, move fx_subsy to fx_addsy,
|
||
and set fx_tcbit.
|
||
|
||
* config/tc-m68k.c (s_reg): Ignore comment field in MRI mode.
|
||
|
||
Mon Sep 18 14:44:04 1995 Arne H. Juul <arnej@pvv.unit.no>
|
||
|
||
* configure.in (mips-dec-netbsd*): New target.
|
||
* configure: Rebuild.
|
||
|
||
Sun Sep 17 22:17:43 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* configure.in: Set endian to little for mips-*-ultrix*.
|
||
* configure: Rebuild.
|
||
|
||
Fri Sep 15 13:16:55 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* expr.c (current_location): New static function. Handle magic
|
||
symbol `.'; in absolute section, return a constant.
|
||
(operand): Call current_location for '.' and '$', instead of doing
|
||
it inline. In MRI mode, call current_location for '*'.
|
||
|
||
Fri Sep 15 21:39:29 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-m68k.c: Change some "CONST" references to "const".
|
||
|
||
Fri Sep 15 17:27:41 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
Tue Sep 12 17:08:23 1995 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* config/obj-vms.c (VMS_stab_parse): simplify first loop;
|
||
use S_GET_NAME/modify/S_SET_NAME sequence instead of abusing
|
||
S_GET_NAME when updating symbol name.
|
||
(local_symbols_DST): first prefix/postfix typo from July 21st.
|
||
[plus comment reformatting --kr]
|
||
|
||
Wed Sep 13 12:33:03 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* Makefile.in (EXPECT): New variable.
|
||
(CHECKFLAGS): Remove.
|
||
(site.exp): New target.
|
||
(check): Rewrite to invoke runtest directly, rather than recurring
|
||
down into testsuite.
|
||
(clean-here): Remove testsuite directory.
|
||
(clean, distclean): Don't recur into testsuite.
|
||
* configure.in: Don't call AC_CONFIG_SUBDIRS(testsuite).
|
||
* configure: Rebuild.
|
||
|
||
* write.c (relax_and_size_seg): Change to the segment we are
|
||
relaxing, in case md_convert_frag, called by cvt_frag_to_fill,
|
||
wants to call fix_new.
|
||
* config/tc-m68k.c (m68k_ip): Permit PC relative code if the
|
||
segment of the symbol is the current segment, not just in
|
||
text_section.
|
||
(md_convert_frag_1): Don't call subseg_change.
|
||
(md_estimate_size_before_relax): Likewise.
|
||
|
||
Tue Sep 12 10:36:40 1995 Doug Evans <dje@canuck.cygnus.com>
|
||
|
||
* config/tc-arm.c (md_atof): Fix debugging printf, and leave it
|
||
out by default.
|
||
|
||
Mon Sep 11 11:39:11 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* doc/configure.in: Remove unused file.
|
||
|
||
* app.c (do_scrub_chars): Grab all available spaces at start of
|
||
line before preserving a single space. Remove state == 0 test
|
||
which will never succeed.
|
||
* macro.c (macro_expand_body): Delete local variables from the
|
||
formal hash table.
|
||
(macro_expand): In MRI mode, stop when whitespace is seen in the
|
||
argument list.
|
||
|
||
* sb.c: Include "libiberty.h".
|
||
* macro.c: Likewise. Also include <stdlib.h> if it exists.
|
||
|
||
Fri Sep 8 00:27:46 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* app.c (do_scrub_chars): In MRI mode, keep a space before a
|
||
possible comment character.
|
||
* config/tc-m68k.c (m68k_ip): In MRI mode, ignore anything after
|
||
an instruction which takes no operands.
|
||
|
||
* Makefile.in (install): Don't install gasp in $(tooldir).
|
||
|
||
* config/tc-mips.c (macro): Handle a non zero base register for
|
||
M_U{L,S}{D,W,H}_A.
|
||
|
||
* gasp.c (show_usage): Put program_name argument in first fprintf,
|
||
not second.
|
||
|
||
Thu Sep 7 12:33:58 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* expr.c (operand): Handle 08 and 09 in MRI mode.
|
||
* macro.c (ISSEP): Remove duplicated `"' character.
|
||
(get_any_string): Copy some characters for which ISSEP is true:
|
||
';', '>', '(', ')'. Otherwise we can get in an infinite loop.
|
||
* read.c (s_space): In MRI mode, the expressions stop at the first
|
||
unquoted space.
|
||
(cons_worker): In MRI mode, restore the terminating character at
|
||
the end of the function.
|
||
|
||
* read.c (cons_worker): Don't use #elif; old compilers don't
|
||
support it.
|
||
|
||
Wed Sep 6 21:13:06 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* app.c (do_scrub_chars): In MRI mode, silently end quoted strings
|
||
at newline characters. In MRI mode, always keep spaces in the
|
||
operands field. In MRI mode, treat a line comment character as a
|
||
regular comment character following a space.
|
||
* cond.c (ignore_input): Use strncasecmp rather than strncmp when
|
||
looking for special pseudo-ops.
|
||
* read.c (cons_worker): In MRI mode, the expressions stop at the
|
||
first unquoted space.
|
||
(equals): Likewise.
|
||
|
||
Wed Sep 6 15:03:53 1995 Jim Wilson <wilson@chestnut.cygnus.com>
|
||
|
||
* config/tc-sh.c (get_operands): Read third arg if it exists.
|
||
Otherwise, clear it.
|
||
(get_specific, case F_FR0): Add.
|
||
|
||
Wed Sep 6 15:03:53 1995 Jim Wilson <wilson@chestnut.cygnus.com>
|
||
|
||
* config/tc-sh.c (get_specific): Delete arg_to_test.
|
||
(md_assemble): Increase operand array from 2 to 3.
|
||
|
||
Tue Sep 5 16:47:36 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||
|
||
* config/tc-mips.c: Remove CYGNUS LOCAL comments.
|
||
(md_begin): Use 0/1 instead of TRUE/FALSE.
|
||
(md_show_usage): Break up long format string for the benefit
|
||
of lame compilers.
|
||
* config/tc-m68k.c (md_show_usage): Ditto.
|
||
* gasp.c (show_usage): Ditto.
|
||
* macro.c (check_macro): Cast result of hash_find.
|
||
|
||
Tue Sep 5 14:46:38 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* configure.in: When testing for a free() declaration in system
|
||
header files, cast the address to a function pointer, not to an
|
||
integer.
|
||
|
||
* write.c (fix_new_internal): Call TC_INIT_FIX_DATA if TC_FIX_TYPE
|
||
is defined. Don't initialize fx_bsr. Verify that fx_size field
|
||
is wide enough to hold stored value.
|
||
* write.h (struct fix): Change tc_fix_data to type TC_FIX_TYPE if
|
||
that is defined, otherwise omit it. Delete fx_bsr. Change
|
||
fx_size to unsigned char.
|
||
* config/tc-i960.h (TC_FIX_TYPE, fx_bsr, TC_INIT_FIX_DATA): New
|
||
macros.
|
||
* config/tc-ns32k.h (TC_FIX_TYPE, fx_bsr, TC_INIT_FIX_DATA): New
|
||
macros.
|
||
* config/tc-hppa.h (TC_FIX_TYPE): Define as PTR.
|
||
|
||
* config/tc-i860.c (md_apply_fix): Delete code for checking
|
||
fx_im_disp, and for handling non-zero values, since it never gets
|
||
set after being initialized to zero.
|
||
|
||
* write.h (struct fix): Make fx_im_disp always 2 bits, since the
|
||
only tc-* files actually using it need that much.
|
||
|
||
NS32K changes from Ian Dall:
|
||
* configure.in: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
|
||
ns32k-pc532-lites* like ns32k-pc532-netbsd*.
|
||
* config/tc-ns32k.h (LOCAL_LABELS_FB): Define to 1.
|
||
|
||
Fri Sep 1 17:02:15 1995 steve chamberlain <sac@slash.cygnus.com>
|
||
|
||
* write.c (fixup_segment): Get TC_FORCE_RELOCATION up the
|
||
right way!
|
||
|
||
Fri Sep 1 08:20:19 1995 James G. Smith <jsmith@beauty.cygnus.com>
|
||
|
||
* config/tc-mips.c (md_parse_option, md_begin, md_show_usage):
|
||
Add support for "-mcpu=vr4300" as processor identifier.
|
||
|
||
Thu Aug 31 16:41:06 1995 steve chamberlain <sac@slash.cygnus.com>
|
||
|
||
* write.c (fixup_segment): Remove change of 29th.
|
||
* config/tc-{i386,arm}.h (TC_FORCE_RELOCATION): Keep RVA relocs.
|
||
|
||
Tue Aug 29 19:42:58 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||
|
||
* config/tc-m68k.c (m68k_ip) [case POST/PRE/BASE]: Fix typo when
|
||
looking at outer displacement. Don't set the postindex bit if the
|
||
index suppress bit is set (for memory indirect addressing mode).
|
||
|
||
Thu Aug 31 06:49:37 1995 Doug Evans <dje@canuck.cygnus.com>
|
||
|
||
* config/tc-arm.c (tc_gen_reloc): Delete duplicated code.
|
||
|
||
Wed Aug 30 23:51:57 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* app.c (do_scrub_chars): Free saved_input when the from buffer
|
||
exactly fills the to buffer.
|
||
|
||
Wed Aug 30 13:46:39 1995 Doug Evans <dje@canuck.cygnus.com>
|
||
|
||
* config/tc-sparc.c (parse_keyword_arg, parse_const_expr_arg): New fns.
|
||
(sparc_ip): Call them for asi, membar, and prefetch parsing.
|
||
|
||
Tue Aug 29 15:45:37 1995 Doug Evans <dje@canuck.cygnus.com>
|
||
|
||
* config/tc-sparc.c (membar_masks): Deleted.
|
||
(sparc_ip): Clean up ASI and membar support.
|
||
|
||
Tue Aug 29 13:20:27 1995 steve chamberlain <sac@slash.cygnus.com>
|
||
|
||
* read.c (potable): Rva is new entry.
|
||
(cons_worker): New, split from cons. Handles rva.
|
||
(cons, s_rva): Call cons_worker.
|
||
* read.h (s_rva): New declaration.
|
||
* write.c (fixup_segment): Don't throw away rva relocs.
|
||
* config/tc-arm.c (md_apply_fix, tc_gen_reloc): Handle RVA.
|
||
* config/tc-i386.c (tc_coff_fix2type): Handle RVA.
|
||
* config/tc-i386.h (TC_COUNT_RELOC): Remember RVAs.
|
||
(TC_RVA_RELOC): New definition.
|
||
|
||
Sun Aug 27 17:41:05 1995 Doug Evans <dje@canuck.cygnus.com>
|
||
|
||
* config/tc-arm.c (do_swi): Allow optional leading '#'.
|
||
|
||
Sat Aug 26 17:24:20 1995 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/tc-m68k.c (comment_chars): If TE_DELTA is defined,
|
||
include '#'.
|
||
* config/tc-m68k.h (NO_PSEUDO_DOT): Define if TE_DELTA is
|
||
defined.
|
||
|
||
* config/te-delta.h: Include obj-format.h.
|
||
* config/te-sco386.h: Likewise.
|
||
* config/te-sysv32.h: Likewise.
|
||
|
||
* app.c (scrub_file): Remove.
|
||
(scrub_from_file, scrub_to_file): Remove.
|
||
(scrub_string, scrub_last_string): Remove.
|
||
(scrub_from_string, scrub_to_string): Remove.
|
||
(saved_input, saved_input_len): New static variables.
|
||
(struct app_saved): Remove scrub_string, scrub_last_string, and
|
||
scrub_file fields. Add saved_input and saved_input_len fields.
|
||
(app_push): Adjust saved fields for changes in struct app_save.
|
||
Initialize state and saved_input.
|
||
(app_pop): Adjust saved fields for changes in struct app_save.
|
||
(do_scrub_chars): Rename from do_scrub_next_char and rewrite to
|
||
process a buffer at a time rather than a character at a time.
|
||
(main, as_warn): Remove obsolete testing code.
|
||
* as.h (do_scrub_next_char): Don't declare.
|
||
(do_scrub_chars): Declare.
|
||
(scrub_from_file, scrub_from_string): Don't declare.
|
||
(scrub_to_file, scrub_to_string): Don't declare.
|
||
* input-file.c (input_file_get): New static function.
|
||
(input_file_give_next_buffer): Call do_scrub_chars rather than
|
||
do_scrub_next_char.
|
||
* read.c (scrub_string, scrub_string_end): New static variables.
|
||
(scrub_from_string): New static function.
|
||
(read_a_source_file): Call do_scrub_chars rather than
|
||
do_scrub_next_char.
|
||
|
||
Thu Aug 24 18:50:19 1995 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* gasp.c (as_abort): New function.
|
||
* sb.c (sb_build): Revert yesterday's patch.
|
||
|
||
* Makefile.in (gasp.new): Depend upon ../libiberty/libiberty.a.
|
||
Just link against libiberty, not against $(LIBS).
|
||
|
||
Wed Aug 23 15:18:20 1995 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* sb.c (sb_build): Undefine abort before calling it, since gasp
|
||
does not provide as_abort.
|
||
|
||
Wed Aug 23 10:40:41 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* config/tc-ppc.c (set_target_endian): New static to say whether
|
||
we've initialized target_big_endian or not.
|
||
(md_parse_option): Set set_target_endian if we set the variable
|
||
target_big_endian.
|
||
(md_begin): Only set target_big_endian if !set_target_endian.
|
||
|
||
Tue Aug 22 03:00:33 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
|
||
|
||
Sat Aug 19 18:08:16 1995 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* config/obj-vms.h (DST_S_C_SRC_SETREC_W, DST_S_C_SRC_DEFLINES_B):
|
||
New macros.
|
||
* config/obj-vms.c (VMS_TBT_Line_PC_Correlation,
|
||
VMS_TBT_Source_Lines): Make traceback info be robust enough to
|
||
handle huge source files.
|
||
(VMS_TBT_Source_File): Reorganize the native- vs cross-assembly
|
||
support so that actual object file output is clearer.
|
||
(VMS_TBT_Source_File: Fab, Nam, Date_Xab, File_Header_Xab):
|
||
Replace static variables with automatic ones.
|
||
|
||
Sat Aug 12 20:18:15 1995 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* config/obj-vms.c (Module_Name): new file scope variable.
|
||
(VMS_TBT_Module_Begin): use it instead of local variable.
|
||
(Write_VMS_MHD_Records): ditto; assign its value here.
|
||
(Write_VMS_EOM_Record): second argument has type valueT.
|
||
(VMS_Initialized_Data_Size): simplify search loop; return
|
||
type is offsetT; second argument is unsigned.
|
||
|
||
Sat Jun 17 19:05:25 1995 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* messages.c (as_perror): Use xstrerror instead of strerror.
|
||
|
||
Mon Aug 21 13:57:20 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* as.c (parse_args): Accept --defsym SYM=VALUE.
|
||
* doc/as.texinfo, doc/as.1: Document --defsym.
|
||
|
||
* read.c (read_a_source_file): In MRI mode, don't end the
|
||
statement inside a quotation.
|
||
(s_space): Don't warn about a zero repeat count in MRI mode.
|
||
* config/tc-m68k.c (crack_operand): In MRI mode, don't count
|
||
parentheses inside quotes.
|
||
(md_assemble): In MRI mode, anything after the operands field is a
|
||
comment.
|
||
(parse_mri_control_operand): Adjust start and stop to remove
|
||
spaces.
|
||
(s_mri_for): Likewise.
|
||
|
||
* cond.c (s_ifdef): Restore the character after the symbol name,
|
||
in case it is a newline.
|
||
(s_if): If ignoring the current tree, don't try to parse the
|
||
expression.
|
||
|
||
* app.c (do_scrub_next_char): If LEX_IS_STRINGQUOTE or
|
||
LEX_IS_ONECHAR_QUOTE is seen in state 10, preserve one space.
|
||
|
||
* doc/as.texinfo: Document irp, irpc, macro, and rept. MRI mode
|
||
now supports macros, ifc, ifnc, irp, irpc, rept, and endr, without
|
||
using gasp.
|
||
|
||
Add support for macros.
|
||
* as.c: Include sb.h and macro.h.
|
||
(max_macro_next): New global variable.
|
||
(main): Call macro_init.
|
||
(macro_expr): New static function.
|
||
* as.h (max_macro_nest): Declare.
|
||
* read.c (line_label): Rename from mri_line_label. Change all
|
||
uses.
|
||
(potable): Add exitm, irp, irpc, macro, mexit, rept.
|
||
(read_a_source_file): Always clear line_label at the start of a
|
||
line, not just when flag_mri or LABELS_WITHOUT_COLONS. Fix
|
||
MRI/LABELS_WITHOUT_COLONS handling. In MRI mode, permit label:
|
||
equ val. Set line_label when calling colon. In MRI mode, a
|
||
leading '.' does not imply a pseudo-op. Check for macro expansion
|
||
before calling md_assemble.
|
||
(s_irp): New function.
|
||
(get_line_sb): New static function.
|
||
(s_macro): New function.
|
||
(s_mexit): New function.
|
||
(s_rept): New function.
|
||
* read.h (line_label): Rename from mri_line_label.
|
||
(s_irp, s_rept): Declare.
|
||
(s_macro, s_mexit): Declare.
|
||
* input-scrub.c: Include sb.h.
|
||
(sb_index, from_sb): New static variables.
|
||
(macro_nest): New static variable.
|
||
(struct input_save): Add sb_index and from_sb fields. Change
|
||
next_saved_file field to be struct input_save *.
|
||
(next_saved_file): Changed to be struct input_save *.
|
||
(input_scrub_push): Change to return type struct input_save *.
|
||
Save sb_index and from_sb.
|
||
(input_scrub_pop): Change parameter type to struct input_save *.
|
||
Restore sb_index and from_sb.
|
||
(input_scrub_include_sb): New function.
|
||
(input_scrub_next_buffer): Handle reading from from_sb.
|
||
(bump_line_counters): Only increment lines if not using from_sb.
|
||
* config/tc-m68k.c (opt_table): Add nest.
|
||
(opt_nest): New static function.
|
||
* gasp.c: Include sb.h and macro.h. Move all sb related functions
|
||
and definitions to sb.h and sb.c. Move all macro related
|
||
functions and definitions to macro.h and macro.c.
|
||
* sb.h, sb.c: New files, extracted from gasp.c.
|
||
* macro.h, macro.c: Likewise.
|
||
* Makefile.in (OBJS): Add sb.o and macro.o
|
||
(GASPOBJS): Define.
|
||
(gasp.new): Depend upon $(GASPOBJS). Use $(GASPOBJS) to link.
|
||
(TARG_CPU_DEP_m68k): Depend upon subsegs.h.
|
||
(gasp.o): Depend upon sb.h and macro.h.
|
||
(sb.o): New target.
|
||
(macro.o): New target.
|
||
(as.o): Depend upon sb.h and macro.h.
|
||
(input-scrub.o): Depend upon sb.h.
|
||
(read.o): Depend upon sb.h and macro.h.
|
||
|
||
* cond.c (get_mri_string): New static function.
|
||
(s_ifc): New function.
|
||
* read.c (potable): Add ifc and ifnc.
|
||
* read.h (s_ifc): Declare.
|
||
|
||
* app.c (do_scrub_begin): In MRI mode, set lex of ' to
|
||
LEX_IS_STRINGQUOTE.
|
||
|
||
Mon Aug 21 13:41:33 1995 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* config/tc-ppc.c (md_assemble): Allow @HA, @L, and @H suffixes on
|
||
constant expressions.
|
||
|
||
Sun Aug 20 15:54:37 1995 Jim Wilson <wilson@cygnus.com>
|
||
|
||
* config/tc-arm.c (md_reloc_size): Add const to declaration.
|
||
|
||
Fri Aug 18 10:58:09 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* read.c (s_include): In MRI mode, don't expect quotes around the
|
||
file name.
|
||
* listing.c (listing_title): Don't require the title to be quoted.
|
||
|
||
* gasp.c (include_print_where_line): Always subtract 1 from
|
||
linecount before printing it.
|
||
(process_file): In MRI mode, lines beginning with '*' or '!' are
|
||
comments.
|
||
(do_reg): In MRI mode, don't require parentheses.
|
||
(do_include): In MRI mode, don't requires quotes. If the file can
|
||
not be found in the include path, try opening it in the current
|
||
directory. Print the file name correctly in the error message.
|
||
(chartype_init): In MRI mode, set FIRSTBIT for '.'.
|
||
(main): Set comment_char to ';' when entering MRI mode.
|
||
|
||
* config/tc-m68k.c: Include subsegs.h.
|
||
(m68k_ip): Pass 64 rather than -1 to add_Fix in 'B' 'B' case.
|
||
(md_pcrel_from): If fx_pcrel_adjust is 64, use -1 instead.
|
||
|
||
* config/tc-sparc.h (tc_fix_adjustable): For OBJ_AOUT case, adjust
|
||
BFD_RELOC_16 and BFD_RELOC_32 relocs.
|
||
|
||
Wed Aug 16 14:48:44 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
|
||
|
||
* as.h (alloca): Use void* declaration on HP/UX.
|
||
|
||
Wed Aug 16 12:49:17 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-sparc.c (tc_gen_reloc): If PIC, only change PCREL_S2
|
||
to WPLT30 for an undefined or external symbol. Don't consider
|
||
PC10 or PC22 to be a PC relative reloc when choosing between
|
||
fx_addnumber and fx_offset.
|
||
|
||
* config/tc-z8k.c (md_number_to_chars): Don't do it here, call
|
||
number_to_chars_bigendian.
|
||
* config/tc-z8k.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
||
|
||
* expr.c (operand): Add support for .startof. and .sizeof. by
|
||
using magic symbol names which the linker will recognize
|
||
specially.
|
||
* doc/as.texinfo: Take out note that .startof. and .sizeof. are
|
||
not supported.
|
||
|
||
Tue Aug 15 15:08:49 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-m68k.c (md_pseudo_table): Add MRI structured control
|
||
directives: if, if.b, if.w, if.l, else, else.s, else.l, endi,
|
||
break, break.s, break.l, next, next.s, next.l, for, for.b, for.w,
|
||
for.l, endf, repeat, until, until.b, until.w, until.l, while,
|
||
while.b, while.w, while.l, endw.
|
||
(enum mri_control_type): Define.
|
||
(struct mri_control_info): Define.
|
||
(mri_control_stack): New static variable.
|
||
(mri_control_index): New static variable.
|
||
(mri_control_label): New static function.
|
||
(push_mri_control, pop_mri_control): New static functions.
|
||
(parse_mri_condition): New static function.
|
||
(parse_mri_control_operand): New static function.
|
||
(swap_mri_condition, reverse_mri_condition): New static functions.
|
||
(build_mri_control_operand): New static function.
|
||
(parse_mri_control_expression): New static function.
|
||
(s_mri_if, s_mri_else, s_mri_endi): New static functions.
|
||
(s_mri_break, s_mri_next): New static functions.
|
||
(s_mri_for, s_mri_endf): New static functions.
|
||
(s_mri_repeat, s_mri_until): New static functions.
|
||
(s_mri_while, s_mri_endw): New static functions.
|
||
* gasp.c (mrikinfo): Remove IF.
|
||
* expr.c (get_symbol_end): Accept \001 as part of a name.
|
||
|
||
* symbols.c (colon): Change parameter to const char *.
|
||
* symbols.h (colon): Update declaration.
|
||
|
||
Mon Aug 14 20:51:56 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
|
||
|
||
* write.c (write_contents): Always do it the BFD_FAST_SECTION_FILL
|
||
way. Reformat and reindent that code to GNU standards.
|
||
(BFD_FAST_SECTION_FILL): Don't define.
|
||
|
||
Mon Aug 14 14:08:07 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (md_apply_fix): Don't try to apply BEGIN_BRTAB
|
||
or END_BRTAB fixups.
|
||
|
||
Mon Aug 14 15:45:07 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* gasp.c (do_align, get_any_string): Mark as static.
|
||
(do_assigna, do_assignc, new_file): Likewise.
|
||
|
||
* config/tc-m68k.c (s_reg): Rename local op to rop to avoid
|
||
confusion with macro op.
|
||
|
||
* gasp.c (strip_comments): Comment out; it's not used.
|
||
(do_end): Add parameter. In MRI mode, print it out.
|
||
(do_irp): New static function.
|
||
(sub_actual): Change parameter m to formal_hash, changing type
|
||
from macro_entryh * to hash_table *.
|
||
(macro_expand_body): New static function, broken out of
|
||
macro_expand.
|
||
(macro_expand): Call macro_expand_body.
|
||
(K_*): Fully parenthesize.
|
||
(K_IRP, K_IRPC): Define.
|
||
(mrikinfo): Add IRP and IRPC.
|
||
(process_pseudo_op): In MRI mode, print out END pseudo-op. Pass
|
||
line to do_end. Handle K_IRP and K_IRPC.
|
||
|
||
* config/tc-m68k.c (s_opt): Reset *input_line_pointer even if we
|
||
don't do anything with the option.
|
||
|
||
Sun Aug 13 17:03:58 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* frags.c (frag_align): Handle absolute_section.
|
||
* write.c (record_alignment): Likewise.
|
||
|
||
* config/tc-mips.c (macro_build): Skip insns with an inappropriate
|
||
ISA level.
|
||
|
||
Sun Aug 13 00:35:02 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (md_pseudo_table): Add entries for
|
||
"begin_brtab" and "end_brtab" pseudo-ops.
|
||
(pa_brtab): New function.
|
||
(tc_gen_reloc, SOM version): Handle R_BEGIN_BRTAB and R_END_BRTAB.
|
||
(hppa_force_relocation): Force relocations for BRTAB fixups
|
||
when OBJ_SOM is defined.
|
||
|
||
Fri Aug 11 20:34:05 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
|
||
|
||
* Makefile.in (TE_OBJS): Add empty definition.
|
||
|
||
Fri Aug 11 19:16:08 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* gasp.c (change_base): Don't treat ' specially in MRI mode.
|
||
(process_file): Don't warn about missing END in MRI mode.
|
||
(do_if): New static function.
|
||
(get_mri_string, do_ifc): New static functions.
|
||
(buffer_and_nest): Treat MRI mode like alternate syntax mode.
|
||
(do_aendr): Change error message in MRI mode.
|
||
(do_arepeat): Use REPT/ENDR in MRI mode.
|
||
(do_formals): In MRI mode, add special NARG formal.
|
||
(macro_expand): Various changes for MRI mode: permit a qualifier
|
||
on the macro name; set special NARG formal; permit unnamed
|
||
positional arguments; use && to concatenate named parameters;
|
||
permit \d to specify an unnamed parameter; permit named parameters
|
||
to not start with \; use == to see if a parameter exists.
|
||
(getstring): In MRI mode, allow <> to quote a string.
|
||
(K_IFEQ, K_IFNE, K_IFLT, K_IFLE, K_IFGE, K_IFGT): Define.
|
||
(K_IFC, K_IFNC): Define.
|
||
(struct keyword): Name structure used in kinfo array.
|
||
(mrikinfo): New static array.
|
||
(process_pseudo_op): Don't require leading '.' in MRI mode.
|
||
Handle new MRI pseudo-op definitions.
|
||
(add_keyword): New static function, broken out of process_init.
|
||
(process_init): Use add_keyword. In MRI mode, add mrikinfo table.
|
||
(long_options): Add "mri".
|
||
(show_usage): Mention -M/--mri.
|
||
(main): Call process_init after processing arguments. Handle -M.
|
||
* doc/gasp.texi: Document -M/--mri.
|
||
|
||
* gasp.c: Include ansidecl.h. Make all local functions static.
|
||
Add prototypes for all static functions.
|
||
(mri): New global variable.
|
||
(sb_add_char): Change parameter c from char to int.
|
||
(sb_add_string): Make parameter s into a const pointer.
|
||
(sb_add_buffer): Likewise.
|
||
(checkconst): Change parameter op from char to int.
|
||
(exp_get_abs): Make parameter emsg into a const pointer.
|
||
(do_res): Change parameter type from char to int.
|
||
(buffer_and_nest): Make parameters from and to into const
|
||
pointers.
|
||
(do_sdata): Change parameter type from char to int.
|
||
(new_file): Make parameter name into a const pointer.
|
||
(do_define): Make parameter string into a const pointer.
|
||
|
||
* config/tc-h8300.c (md_number_to_chars): Don't do it here, call
|
||
number_to_chars_bigendian.
|
||
* config/tc-h8300.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
||
|
||
Fri Aug 11 13:23:56 1995 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* write.h (struct fix): Add new field fx_no_overflow.
|
||
|
||
* write.c (fixup_segment): If fx_no_overflow is non-zero, don't
|
||
complain if the addend is too large.
|
||
|
||
* config/tc-ppc.c (md_assemble): Set fx_no_overflow if the half
|
||
word relocations BFD_RELOC_{LO16,HI16,HI16_S}.
|
||
|
||
Thu Aug 10 20:56:38 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* read.c (s_mri_sect) [BFD_ASSEMBLER]: Fix typos in choosing and
|
||
setting section flags.
|
||
|
||
Thu Aug 10 00:38:11 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* doc/as.texinfo: Add documentation for MRI compatibility mode.
|
||
* doc/as.1: Likewise.
|
||
|
||
* config/tc-m68k.c (m68k_ip): When recognizing '#', use isbyte and
|
||
iword rather than expr8 and expr16. When recognizing 'M', use
|
||
issbyte rather than expr8. When recognizing 'Q' and 't', just
|
||
check for O_constant rather than using expr8.
|
||
* config/m68k-parse.h (expr8, expr16): Don't define.
|
||
* Makefile.in (m68k-parse.o): Depend upon m68k-parse.h, not
|
||
m68k-parse.y.
|
||
|
||
* read.c (potable): Add spc, ttl, xcom, xref.
|
||
(s_mri_sect): New function.
|
||
* read.h (s_mri_sect): Declare.
|
||
* config/obj-coff.c (obj_coff_section) (both versions): In MRI
|
||
mode, call s_mri_sect.
|
||
(obj_pseudo_table): Add sect.s and section.s. Move sect outside
|
||
of ifndef BFD_ASSEMBLER.
|
||
* config/obj-elf.c (elf_pseudo_table): Add section.s, sect,
|
||
sect.s.
|
||
(obj_elf_section): In MRI mode, call s_mri_sect.
|
||
* config/tc-m68k.c (md_pseudo_table): Add restore, save.
|
||
(struct save_opts): Define.
|
||
(save_stack): New static variable.
|
||
(s_save, s_restore): New static functions.
|
||
|
||
* read.c (s_set): Remove unused local ptr.
|
||
(hex_float): Check target_big_endian.
|
||
(equals): Remove unused local p.
|
||
|
||
* config/tc-a29k.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
||
* config/tc-h8500.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
||
* config/tc-hppa.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
||
* config/tc-i860.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
||
* config/tc-m68k.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
||
* config/tc-m88k.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
||
* config/tc-tahoe.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
||
* config/tc-sh.c (little): Set target_big_endian.
|
||
(md_begin): Likewise.
|
||
(md_parse_option): Likewise.
|
||
(build_relax): Check target_big_endian rather than shl.
|
||
(build_Mytes, md_atof): Likewise.
|
||
(md_convert_frag, md_apply_fix): Likewise.
|
||
(md_number_to_chars): Likewise.
|
||
|
||
Wed Aug 9 10:51:48 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-m68k.c (m68k_abspcadd): New static variable.
|
||
(m68k_quick): New static variable.
|
||
(m68k_rel32): New static variable.
|
||
(md_pseudo_table): Add opt and reg.
|
||
(m68k_ip): Permit absolute symbols in 'l'/'L' recognition. Check
|
||
m68k_quick in 'M' and 'Q' recognition. Check m68k_abspcadd in
|
||
DISP handling. Check m68k_rel32 in BASE/POST/PRE handling.
|
||
(md_begin): In MRI mode, initialize m68k_abspcadd and m68k_rel32.
|
||
In MRI mode, change unsized branch aliases to be variable sized.
|
||
(struct opt_action): Define.
|
||
(opt_table): Define.
|
||
(s_opt): New static function.
|
||
(skip_to_comma): New static function.
|
||
(opt_chip): New static function.
|
||
(opt_list): New static function.
|
||
(opt_list_symbols): New static function.
|
||
(s_reg): New static function.
|
||
* as.h (flag_keep_locals): Change from unsigned char to int.
|
||
(flag_no_warnings): Likewise.
|
||
|
||
* read.c (mri_line_label): Make non-static.
|
||
(potable): Add nopage, page, plen.
|
||
(s_org): Error if in MRI mode.
|
||
* read.h (mri_line_label): Declare.
|
||
* listing.c (listing_nopage): New function.
|
||
* listing.h (listing_nopage): Declare.
|
||
|
||
* symbols.c (symbol_begin): Set sy_frag of abs_symbol to
|
||
&zero_address_frag.
|
||
|
||
* write.c (adjust_reloc_syms): Check that symbol is not NULL
|
||
before checking sy_mri_common.
|
||
(fixup_segment): Likewise.
|
||
* config/obj-coff.c (fixup_segment): Likewise.
|
||
|
||
* read.c (abs_section_offset): New global variable.
|
||
(potable): Add offset, struct.
|
||
(do_org): New static function; handle changing the origin in the
|
||
absolute section.
|
||
(s_org): Use do_org.
|
||
(s_set): Likewise.
|
||
(equals): Likewise.
|
||
(s_space): In absolute_section, just increase abs_section_offset.
|
||
(s_struct): New function.
|
||
(emit_expr): Handle absolute_section specially.
|
||
* read.h (abs_section_offset): Declare.
|
||
(s_struct): Declare.
|
||
* frags.c (frag_more): Warn if in absolute_section.
|
||
(frag_now_fix): In absolute_section, return abs_section_offset.
|
||
* subsegs.c (subseg_change): If switching to absolute_section,
|
||
just set now_seg and now_subseg.
|
||
(subseg_set_rest): Special handling when switching to or from
|
||
absolute_section.
|
||
|
||
* config/tc-m68k.c (m68k_float_copnum): New static variable.
|
||
(md_pseudo_table): Add fopt and mask2.
|
||
(m68k_ip): Use m68k_float_copnum, not COPNUM, when setting
|
||
coprocessor register to use. In case 'I' when checking operands,
|
||
correct coprocessor register numbers. In case 'I' when setting
|
||
operands, don't add 1.
|
||
(s_fopt): New static function.
|
||
* config/m68k-parse.h (COPNUM): Don't define.
|
||
|
||
* read.c (potable): Add ifeq, ifge, ifgt, ifle, iflt, ifne.
|
||
Change if to pass O_ne to s_if.
|
||
(read_a_source_file): Don't define an label without a colon if
|
||
ignore_input returns true.
|
||
* cond.c (s_if): Treat argument as an operatorT describing how to
|
||
compare the argument against zero.
|
||
(ignore_input): Don't require an initial dot in MRI mode, or if
|
||
NO_PSEUDO_DOT is defined.
|
||
|
||
* read.c (potable): Add dcb, dcb.b, dcb.d, dcb.l, dcb.s, dcb.w,
|
||
dcb.x, ds.d, ds.p, ds.s, ds.x, elsec, endc, fail, format, llen,
|
||
noformat.
|
||
(read_a_source_file): If pseudo-op handler is s_end, quit
|
||
immediately.
|
||
(s_end): New function.
|
||
(s_fail): New function.
|
||
(s_float_space): New function.
|
||
(hex_float): New static function.
|
||
(float_cons): Use hex_float.
|
||
* read.h (s_fail): Declare.
|
||
(s_float_space): Declare.
|
||
* cond.c (s_end): Remove.
|
||
* listing.c (listing_psize): Treat argument as indicating whether
|
||
a height is expected.
|
||
|
||
* read.c (mri_pending_align): New static variable.
|
||
(read_a_source_file): Handle mri_pending_align.
|
||
(cons): Set mri_pending_align if appropriate.
|
||
|
||
* configure.in: Move random special target handling before
|
||
possible break.
|
||
* configure: Rebuild.
|
||
|
||
Tue Aug 8 23:41:25 1995 Alan Modra <alan@spri.levels.unisa.edu.au>
|
||
|
||
* configure.in: Consistently use ${target_cpu_type} rather than
|
||
${cpu_type} after the loop.
|
||
* configure: Rebuild.
|
||
* Makefile.in (targ-cpu.o): Use @target_cpu_type@ rather than
|
||
@cpu_type@.
|
||
|
||
Tue Aug 8 17:27:17 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* expr.h (operatorT): Remove comma after last enumerator value.
|
||
|
||
* config/obj-vms.c: Some whitespace cleanup from Pat Rankin.
|
||
|
||
* as.h (alloca): If __STDC__, declare void* instead of char*.
|
||
|
||
Wed Aug 2 18:54:37 1995 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* config/obj-vms.c (Flush_VMS_Object_Record_Buffer,
|
||
Close_VMS_Object_File): Reorganize the `#if !VMS' cross-assmebler
|
||
support code.
|
||
(Close_VMS_Object_File): Call Set_VMS_Object_File_Record to flush
|
||
output buffer--just in case--before closing the file.
|
||
|
||
Tue Aug 8 13:07:05 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-m68k.c (archs): Add 68ec000, 68hc000, 68hc001,
|
||
68ec020, 68ec030, 68ec040, and 68330.
|
||
(md_pseudo_table): Add chip and comline.
|
||
(m68k_init_after_args): Use strcasecmp when comparing default_cpu
|
||
against architectures.
|
||
(mri_chip, s_chip): New static functions.
|
||
|
||
* struc-symbol.h (struct symbol): Add sy_mri_common bit.
|
||
* read.h (mri_comon_symbol): Declare.
|
||
(s_mri_common): Declare.
|
||
* read.c (mri_line_label): New static variable.
|
||
(mri_common_symbol): New global variable.
|
||
(potable): Add "common" and "common.s".
|
||
(read_a_source_file): In MRI mode, set mri_line_label for a label
|
||
at the start of a line.
|
||
(s_mri_common): New function.
|
||
(s_space): Handle mri_common_symbol.
|
||
* symbols.c (colon): Change return value from void to symbolS *,
|
||
and return new symbol. If mri_common_symbol is set, attach the
|
||
new symbol to it.
|
||
(resolve_symbol_value): Handle an sy_mri_common symbol.
|
||
* symbols.h (colon): Change return value in declaration.
|
||
* subsegs.c (subseg_set_rest): Clear mri_common_symbol.
|
||
(subseg_set (both versions)): Likewise.
|
||
* frags.c (frag_more): Warn if mri_common_symbol is not NULL.
|
||
* write.c (adjust_reloc_syms): Skip sy_mri_common symbols.
|
||
(write_object_file): Discard sy_mri_common symbols.
|
||
(fixup_segment): Change relocations against sy_mri_common symbols
|
||
to be against the common symbol itself.
|
||
* config/obj-coff.c (yank_symbols): Discard sy_mri_common symbols.
|
||
(fixup_segment): Change relocations against sy_mri_common symbols
|
||
to be against the common symbol itself.
|
||
* config/obj-aout.c (obj_crawl_symbol_chain): Discard
|
||
sy_mri_common symbols.
|
||
|
||
* doc/c-m68k.texi: Add documentation for CPU specific options, and
|
||
for Motorola syntax.
|
||
|
||
* config/m68k-parse.y (motorola_operand): For (%pc), set mode to
|
||
DISP, not BASE.
|
||
|
||
Tue Aug 8 02:31:38 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* write.c (relax_align): Add extra padding for linkrelax only if
|
||
LINKER_RELAXING_SHRINKS_ONLY is defined.
|
||
* config/tc-i960.h (LINKER_RELAXING_SHRINKS_ONLY): Define it.
|
||
* doc/internals.texi (Relaxation): Write up some stuff on linker
|
||
relaxing and LINKER_RELAXING_SHRINKS_ONLY.
|
||
|
||
Mon Aug 7 17:18:10 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/m68k-parse.y: New file: bison grammar for m68k operands,
|
||
including support for Motorola syntax.
|
||
* config/m68k-parse.h: New file; definitions shared between
|
||
m68k-parse.y and tc-m68k.c.
|
||
* config/tc-m68k.c: Include m68k-parse.h.
|
||
(enum operand_type): Move to m68k-parse.h, where it is named
|
||
m68k_operand_type. Rename all uses. Rearrange somewhat. Add
|
||
FPREG. Rename AOFF to DISP. Rename AINDX to BASE. Rename APODX
|
||
to POST. Rename APRDX to PRE. Remove AMIND. Rename MSCR to
|
||
CONTROL. Remove DINDR.
|
||
(struct m68k_exp): Move to m68k-parse.h. Remove e_beg, e_end and
|
||
e_seg fields. Rename e_exp to exp. Rename e_siz to size, and
|
||
change type to enum m68k_size. Change all uses.
|
||
(enum _register): Move to m68k-parse.h, where it is named
|
||
m68k_register. Rename all uses. Add ZDATA0-7 and ZADDR0-7.
|
||
(struct m68k_op): Move to m68k-parse.h. Change all fields.
|
||
(seg): Don't define.
|
||
(add_exp): Remove.
|
||
(FAIL, OK): Remove.
|
||
(m68k_reg_parse): Move to m68k-parse.y, and rewrite.
|
||
(SKIP_WHITE, SKIP_W): Remove.
|
||
(try_moto_index, try_index): Remove.
|
||
(m68k_ip_op): Move to m68k-parse.y, and rewrite to use grammar.
|
||
(main): Remove obsolete test function.
|
||
(m68k_ip): Extensive changes to use new grammar.
|
||
(get_regs): Remove.
|
||
(crack_operand): m68k_ip_op now returns 0 on success.
|
||
(init_table): Add ssp, zd0-7 and za0-7.
|
||
(md_assemble): Make er const. Correct loop over operands when
|
||
looking for error message.
|
||
(md_begin): Set alt_notend_table for '(' and '@'.
|
||
(get_num): Expression is already parsed. Don't set seg.
|
||
* configure.in: If cpu_type is m68k, put m68k-parse.o in
|
||
extra-objects.
|
||
* configure: Rebuild.
|
||
* Makefile.in (DISTSTUFF): Add m68k-parse.c.
|
||
(BISON): Use ../bison/bison if it exists.
|
||
(BISONFLAGS): Define as empty.
|
||
(TARG_CPU_DEP_m68k): Depend upon $(srcdir)/config/m68k-parse.h.
|
||
(m68k-parse.c, m68k-parse.o): New targets.
|
||
|
||
Mon Aug 7 02:54:20 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-sh.c (parse_reg): Handle new FP registers.
|
||
(get_specific): Handle new operand types.
|
||
|
||
Fri Aug 4 12:29:21 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* expr.c (op_encoding): Make non-const. Don't set '"' to
|
||
O_bit_not.
|
||
(expr_begin): Set op_encoding['"'] in MRI mode.
|
||
|
||
Wed Aug 2 18:39:43 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-m68k.c: Remove BREAK_UP_BIG_DECL stuff.
|
||
(struct m68k_incant): Change m_operands field to be const.
|
||
(struct m68k_it): Change args field to be const.
|
||
(m68k_ip): Change local variable s to be const.
|
||
(opcode_ptr): Remove.
|
||
(md_begin): Use m68k_numopcodes, not numopcodes. Use
|
||
m68k_opcodes, not removed opcode_ptr. Use m68k_numaliases, not
|
||
numaliases.
|
||
|
||
Tue Aug 1 17:35:26 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-m68k.c (init_table): Add "control", "status", "iaddr",
|
||
"sfcr", and "dfcr" as synonyms for existing entries.
|
||
(md_begin): In MRI mode, force flag_reg_prefix_optional to 1.
|
||
(md_parse_option): Removed unused locals i and arch. Change type
|
||
of arch (another one) to unsigned long.
|
||
(tc_coff_sizemachdep): Add return after abort to avoid warning.
|
||
|
||
Initial support for MRI style labels and expressions.
|
||
* as.h (flag_mri): Declare/define.
|
||
* as.c (show_usage): Mention -M and its synonym --mri.
|
||
(parse_args): Add 'M' to std_shortopts. Add "mri" to
|
||
std_longopts. Set flag_mri if -M is seen.
|
||
(main): Call parse_args before input_scrub_begin. Call
|
||
expr_begin.
|
||
* app.c (do_scrub_begin): Don't set lex for '"' or '\'' in MRI
|
||
mode. Do set lex for ';', '*', and '!' in MRI mode.
|
||
(do_scrub_next_char): Remove MRI ifdef in LEX_IS_WHITESPACE case.
|
||
In MRI mode, keep spaces between labels and colons. Remove MRI
|
||
ifndef around LEX_IS_ONECHAR_QUOTE case. In MRI mode, don't use
|
||
'!' or '*' as comment characters even if they are in
|
||
comment_chars.
|
||
* read.h (lex_type): No longer const.
|
||
* read.c: Include libiberty.h.
|
||
(lex_type): No longer const.
|
||
(read_begin): In MRI mode, set lex_type of '?' to 3.
|
||
(potable): Add dc, dc.b, dc.d, dc.l, dc.s, dc.w, dc.x, ds, ds.b,
|
||
ds.l, ds.w, and xdef.
|
||
(read_a_source_file): Change LABELS_WITHOUT_COLON ifdef to check
|
||
for MRI mode at runtime rather than compile time. Handle the EQU
|
||
pseudo-op in MRI mode. Remove bogus MRI ifdef around done_pseudo.
|
||
Change NO_PSEUDO_DOT ifdef to also take effect for MRI mode at
|
||
runtime.
|
||
(cons): In MRI mode, always call parse_mri_cons rather than
|
||
TC_PARSE_CONS_EXPRESSION.
|
||
(parse_mri_cons): Always compile, not just when MRI is defined.
|
||
Call TC_PARSE_CONS_EXPRESSION, not expression, when the input is
|
||
not a string constant. Handle A and E modifiers.
|
||
(float_cons): Accept :xxxx, where the x's are hex digits.
|
||
* expr.h (operatorT): Add O_eq, O_ne, O_lt, O_le, O_ge, O_gt.
|
||
(expr_begin): Declare.
|
||
* expr.c (integer_constant): In MRI mode, if the base was not
|
||
specified, look for a suffix on the number to set the base.
|
||
(mri_char_constant): New static function.
|
||
(operand): Remove MRI ifdef. In MRI mode, do various things: Pass
|
||
0 as the base when calling integer_constant if there was no
|
||
prefix. Check for a hex constant suffix if when a leading '0' is
|
||
seen. Don't accept 0x or 0b as a prefix. Check for E'chars' and
|
||
A'chars'. Handle MRI character constants. Treat '"' as the
|
||
unary bitwise not operator. Treat $ as the program counter, or as
|
||
the prefix for a hex constant. Treat % as the prefix for a binary
|
||
constant and @ as the prefix for an octal constant. Treat : as
|
||
the prefix for a hex constant.
|
||
(op_encoding): Set '"' to O_bit_not, '<' to O_lt, and '>' to O_gt.
|
||
(op_rank): No longer const. Change rank values.
|
||
(expr_begin): New function.
|
||
(operator): New static function.
|
||
(expr): Use operator. Don't bother to mention the operator in
|
||
warnings. Remove bogus #if 0 code. Handle new operatorT values.
|
||
* atof-generic.c (atof_generic): In MRI mode, accept underscores
|
||
around the exponent in floating point numbers.
|
||
* symbols.h (symbols_case_sensitive): Declare.
|
||
* symbols.c (symbols_case_sensitive): New global variable.
|
||
(symbol_create): Check symbols_case_sensitive.
|
||
(symbol_find_base): Likewise.
|
||
(resolve_symbol_value): Handle new operatorT values.
|
||
(print_expr_1): Likewise.
|
||
(S_IS_LOCAL): In MRI mode, names beginning with two '?' characters
|
||
are local.
|
||
|
||
Tue Aug 1 11:35:18 1995 steve chamberlain <sac@slash.cygnus.com>
|
||
|
||
* config/tc-sh.c (md_convert_frag): Make some error messages
|
||
more explicit.
|
||
|
||
Mon Jul 31 21:40:47 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
Sat Jul 29 18:55:23 1995 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* config/obj-vms.c (COPY_SHORT, COPY_LONG, PUT_SHORT, PUT_LONG):
|
||
Make expansion be safe for use in expressions.
|
||
(PUT_COUNTED_STRING): Bracket expansion with `do {...} while (0)'
|
||
rather than just `{...}'.
|
||
|
||
Mon Jul 31 18:19:26 1995 steve chamberlain <sac@slash.cygnus.com>
|
||
|
||
* gasp.c (main): Parse -I option.
|
||
(do_include): Look through include list.
|
||
* gasp.c (change_base): Don't modify numbers in strings.
|
||
|
||
Mon Jul 31 12:16:21 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-ppc.h (SUB_SEGMENT_ALIGN): Define. From Niclas
|
||
Andersson <nican@ida.liu.se>.
|
||
|
||
Thu Jul 27 20:47:12 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* config/obj-coff.c (fixup_segment): Don't do further pcrel
|
||
processing after converting difference of two symbols in the
|
||
same segment. From Jim Wilson.
|
||
|
||
* configure.in (i386-*-linuxoldld): Add as synonym for
|
||
i386-*-linux*aout*. From Fred Fish.
|
||
* configure: Regenerated.
|
||
|
||
Thu Jul 27 16:14:56 1995 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* config/obj-vms.c (enum ps_type {ps_TEXT,ps_DATA,ps_COMMON,
|
||
ps_CONST}): New constants.
|
||
(VMS_Psect_Spec): Use them instead of literal strings.
|
||
(vms_write_object_file, global_symbol_directory): Adjust callers.
|
||
|
||
Wed Jul 26 18:31:35 1995 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* config/obj-vms.c (const_flag): Change from char to unsigned char.
|
||
* config/obj-vms.h (const_flag): Ditto.
|
||
(struct nlist): Replace union n_un and n_un.{n_name,n_next,n_strx}
|
||
fields with just n_name; delete field n_value; change n_other from
|
||
char to unsigned char and n_desc from short to int; insert explicit
|
||
padding for alignment.
|
||
|
||
Mon Jul 24 20:06:17 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* subsegs.h (struct seg_info_trash): Make bitfield types valid.
|
||
|
||
* config/obj-coff.c (fixup_segment): Local add_number should not
|
||
be declared register since its address is taken for
|
||
MD_APPLY_FIX3.
|
||
|
||
Fri Jul 21 15:28:18 1995 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
Split huge vms_write_object_file routine into managable pieces.
|
||
|
||
* config/obj-vms.c (vms_fixup_text_section, synthesize_data_segment,
|
||
vms_fixup_data_section, global_symbol_directory, local_symbols_DST,
|
||
vms_build_DST): New routines.
|
||
(vms_write_object_file): Call them.
|
||
(struct vms_obj_state): New file scope variable used by the above.
|
||
|
||
Mon Jul 24 14:10:24 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-sh.c (md_pseudo_table): Add "uses".
|
||
(s_uses): New static function.
|
||
(sh_coff_frob_file): New function.
|
||
(md_convert_frag): Call subseg_change before calling fix_new.
|
||
(sh_handle_align): New function.
|
||
(SWITCH_TABLE): Define.
|
||
(sh_force_relocation): New function.
|
||
(md_apply_fix): Handle R_SH_USES, R_SH_COUNT and R_SH_ALIGN.
|
||
(sh_coff_reloc_mangle): Likewise. Also handle switch table
|
||
entries.
|
||
* config/tc-sh.h (HANDLE_ALIGN): Define.
|
||
(sh_handle_align): Declare.
|
||
(TC_FORCE_RELOCATION): Define.
|
||
(sh_force_relocation): Declare.
|
||
(TC_COUNT_RELOC): Simplify; rely on TC_FORCE_RELOCATION instead.
|
||
(tc_frob_file): Define.
|
||
(sh_coff_frob_file): Declare.
|
||
* config/obj-coff.c (write_object_file): Call tc_frob_file if it
|
||
is defined.
|
||
(fixup_mdeps): Call HANDLE_ALIGN if it is defined.
|
||
(TC_FORCE_RELOCATION): Define if not defined.
|
||
(fixup_segment): Use TC_FORCE_RELOCATION to decide whether to
|
||
clear the symbol fields of fixP.
|
||
|
||
Fri Jul 21 22:38:00 1995 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* config/tc-ppc.c (ppc_elf_suffix): Add support for R_PPC_SDAREL
|
||
relocation.
|
||
(md_apply_fix3): Ditto.
|
||
|
||
Thu Jul 20 13:00:56 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* config/tc-m68k.c (md_convert_frag): Rename argument seg to sec,
|
||
since seg is a macro name in this file.
|
||
|
||
* configure.in (arm-*-riscix*): Don't set emulation.
|
||
|
||
Wed Jul 19 16:08:29 1995 Doug Evans <dje@canuck.cygnus.com>
|
||
|
||
* config/obj-coff.h (TE_PE): Delete.
|
||
* config/tc-arm.h (BYTE_ORDER): Delete.
|
||
(TARGET_FORMAT): Provide value for OBJ_COFF and TE_PE.
|
||
(ARM_BI_ENDIAN): Define if OBJ_COFF and TE_PE.
|
||
* config/tc-arm.c (byte_order): Delete.
|
||
(md_number_to_chars): Reference target_big_endian, not byte_order.
|
||
(md_chars_to_number): Likewise.
|
||
(md_longopts): Add -EB/-EL if ARM_BI_ENDIAN.
|
||
(md_parse_options): Recognize -EB/-EL.
|
||
(md_show_usage): List -EB/-EL.
|
||
|
||
Wed Jul 19 11:49:25 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* gasp.c (process_assigns): Use toupper before comparing against
|
||
upper case letter.
|
||
(whatcond): Likewise.
|
||
|
||
* config/tc-sh.c (sh_relax): Rename from relax, and make global.
|
||
Renamed all uses.
|
||
(insert): Pass a size of 2, not 4.
|
||
(build_relax): Remove unused len variable.
|
||
(md_show_usage): Mention -little option.
|
||
(md_convert_frag): Add segT argument. Rewrite to generate relocs
|
||
rather than to generate complete instructions here.
|
||
(md_apply_fix): Adjust and clarify R_SH_PCRELIMM8BY4 case for
|
||
changes in insert and md_pcrel_from. Add cases for R_SH_PCDISP
|
||
and R_SH_PCDISP8BY2.
|
||
(md_pcrel_from): Don't subtract 1, add 2.
|
||
(tc_coff_fix2rtype): Remove.
|
||
(sh_coff_reloc_mangle): New function.
|
||
* config/tc-sh.h (TC_COFF_FIX2RTYPE): Just return fx_r_type.
|
||
(sh_relax): Declare.
|
||
(TC_COUNT_RELOC): If relaxing, count PC relative relocs.
|
||
(TC_RELOC_MANGLE): Define.
|
||
(sh_coff_reloc_mangle): Declare.
|
||
(tc_coff_sizemachdep): Declare.
|
||
* tc.h (md_convert_frag): Add segT parameter to non BFD_ASSEMBLER
|
||
declaration.
|
||
* write.c (cvt_frag_to_fill): Add sec argument to non
|
||
BFD_ASSEMBLER version. Pass it to md_convert_frag.
|
||
(write_object_file): Pass SEG_TEXT to cvs_frag_to_fill.
|
||
* config/obj-coff.c (do_relocs_for): Pass segment info to
|
||
TC_RELOC_MANGLE.
|
||
(fixup_mdeps): Pass segment type to md_convert_frag.
|
||
* config/tc-a29k.c (md_convert_frag): Add segT argument.
|
||
* config/tc-h8300.c (md_convert_frag): Likewise.
|
||
* config/tc-h8500.c (md_convert_frag): Likewise.
|
||
* config/tc-i386.c (md_convert_frag): Likewise.
|
||
* config/tc-i860.c (md_convert_frag): Likewise.
|
||
* config/tc-i960.c (md_convert_frag): Likewise.
|
||
* config/tc-m68k.c (md_convert_frag): Likewise.
|
||
* config/tc-m88k.h (md_convert_frag): Likewise.
|
||
* config/tc-ns32k.c (md_convert_frag): Likewise.
|
||
* config/tc-tahoe.c (md_convert_frag): Likewise.
|
||
* config/tc-vax.c (md_convert_frag): Likewise.
|
||
* config/tc-w65.c (md_convert_frag): Likewise.
|
||
* config/tc-z8k.c (md_convert_frag): Likewise.
|
||
* config/tc-h8300.h (TC_RELOC_MANGLE): Add segment argument.
|
||
* config/tc-h8500.h (TC_RELOC_MANGLE): Likewise.
|
||
* config/tc-w65.h (TC_RELOC_MANGLE): Likewise.
|
||
* config/tc-z8k.h (TC_RELOC_MANGLE): Likewise.
|
||
|
||
Mon Jul 17 15:02:54 1995 Pat Rankin <rankin@eql.caltech.edu>
|
||
|
||
* config/obj-vms.c (Current_Routine, Text_Psect): Delete as file
|
||
scope variables.
|
||
(Define_Routine, Define_Local_Symbols): Take Current_Routine and
|
||
Text_Psect as arguments.
|
||
(VMS_DBG_Define_Routine): Delete.
|
||
(VMS_TBT_Block_End): Change `Size' argument from int to valueT.
|
||
(vms_write_object_file: text and data fixup loops): Difference
|
||
of two symbols has type offsetT rather than int; convert with
|
||
md_number_to_chars before passing to VMS_Store_Immediate_Data.
|
||
(vms_write_object_file: debug symbol loop): Call Define_Routine
|
||
instead of VMS_DBG_Define_Routine.
|
||
|
||
Sat Jul 15 00:01:35 1995 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* config/tc-ppc.c (ppc_elf_suffix): Add @fixup so that the
|
||
compiler can mark which relocs not to complain about with
|
||
-mrelocatable.
|
||
(ppc_elf_validate_fix): Add .fixup to sections not to complain
|
||
about, and also don't complain for BFD_RELOC_CTOR relocations in
|
||
writable non-code segments.
|
||
(md_apply_fix): Treat BFD_RELOC_CTOR just like BFD_RELOC_32.
|
||
|
||
Fri Jul 14 19:54:28 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
Add support for SPARC SunOS PIC:
|
||
* config/tc-sparc.h (sparc_pic_code): Always declare, not just
|
||
when OBJ_ELF.
|
||
(TC_RELOC_RTSYM_LOC_FIXUP): Define when OBJ_AOUT.
|
||
(tc_fix_adjustable): New definition for OBJ_AOUT.
|
||
* config/tc-sparc.c (sparc_pic_code): Always define, not just when
|
||
OBJ_ELF.
|
||
(md_apply_fix): Adjust reloc addend for OBJ_AOUT and PIC. In
|
||
BFD_RELOC_32_PCREL_S2 case, don't increment val for an external
|
||
symbol when PIC.
|
||
(tc_gen_reloc): Generate different PIC relocs when OBJ_AOUT, as
|
||
well as when OBJ_ELF.
|
||
(md_shortopts): If OBJ_AOUT, include `k'.
|
||
(md_parse_option): If OBJ_AOUT, handle 'k'.
|
||
(md_show_usage): Mention -k if OBJ_AOUT, and -KPIC if OBJ_ELF.
|
||
(md_pcrel_from): Don't add in size for an external symbol when
|
||
PIC.
|
||
|
||
Thu Jul 13 21:16:43 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.h (UNDEFINED_DIFFERENCE_OK): Define for SOM.
|
||
* write.c (adjust_reloc_syms): Set sy_used_in_reloc for both
|
||
symbols in a fixup where a defined symbol is subtracted from an
|
||
undefined symbol (when UNDEFINED_DIFFERENCE_OK is defined).
|
||
(fixup_segment): Do nothing for the difference of two symbols if
|
||
UNDEFINED_DIFFERENCE_OK is defined.
|
||
|
||
Wed Jul 12 23:33:40 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/obj-coff.c (fixup_segment): Support MD_APPLY_FIX3.
|
||
|
||
Wed Jul 12 01:12:12 1995 Ken Raeburn <raeburn@kr-pc.cygnus.com>
|
||
|
||
* write.c (fix_new): Use int, not short int, for argument type.
|
||
(fix_new_exp): Ditto.
|
||
|
||
* configure.in (arm-*-riscix*): Don't set emulations.
|
||
|
||
* config/tc-mips.c (NO_ECOFF_DEBUGGING): Define if ECOFF_DEBUGGING
|
||
wasn't previously defined.
|
||
(s_extern): Don't set ecoff_extern_size if NO_ECOFF_DEBUGGING.
|
||
(nopic_need_relax): Don't check it if NO_ECOFF_DEBUGGING.
|
||
(macro_build) [!USE_STDARG]: Don't use variadic prototype.
|
||
(mips_local_label) [NO_ECOFF_DEBUGGING]: Don't preserve potential
|
||
ECOFF debugging symbols.
|
||
|
||
* emul.h (struct emulation): Use unsigned, not unsigned char, for
|
||
bitfields.
|
||
* obj.h (struct format_ops): Likewise.
|
||
|
||
* config/tc-arm.c (symbol_make_empty) [BFD_ASSEMBLER]: Set
|
||
udata.p, not udata.
|
||
|
||
Tue Jul 11 14:30:19 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* doc/c-mips.texi: Document -m4010 and -mno-4010.
|
||
|
||
Tue Jul 11 14:28:55 1995 Jeff Spiegel <jeffs@lsil.com>
|
||
|
||
* config/tc-mips.c (mips_4010): New static variable.
|
||
(interlocks): New static variable.
|
||
(md_begin): Check for a cpu of "r4010". Set mips_4010 correctly.
|
||
If mips_4650 or mips_4010, set interlocks.
|
||
(append_insn): Check interlocks, not mips_4650.
|
||
(mips_emit_delays): Likewise.
|
||
(mips_ip): Only permit INSN_4010 instructions if mips_4010.
|
||
(md_longopts): Add "m4010" and "no-m4010".
|
||
(md_parse_option): Accept -mcpu=r4010. Handle -m4010 and
|
||
-no-m4010.
|
||
(md_show_usage): Document -m4010 and -no-m4010.
|
||
|
||
Tue Jul 11 13:22:50 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* ecoff.c (struct efdr): Add new field fake.
|
||
(init_file): Initialize fake.
|
||
(add_file): Add new parameter fake. Change all callers.
|
||
(ecoff_build_debug): Don't warn about a missing .end for a fake
|
||
file.
|
||
|
||
Mon Jul 10 16:01:31 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* doc/as.texinfo: Split out most cpu chapters...
|
||
* doc/c-*.texi: ...to here.
|
||
|
||
* read.c (po_hash): Now static.
|
||
|
||
Mon Jul 10 13:47:22 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
Based on patches from H.J. Lu <hjl@nynexst.com>:
|
||
* config/tc-i386.c (md_apply_fix3): Rename from md_apply_fix1.
|
||
Accept pointer to value and segment. Fix OBJ_ELF PCREL case to
|
||
handle global defined symbols correctly.
|
||
(md_apply_fix): Remove both versions.
|
||
* config/tc-i386.h (MD_APPLY_FIX3): Define.
|
||
|
||
* configure.in: When switching on ${cpu}, use ${cpu}, not
|
||
$[target_cpu}, in default case.
|
||
* configure: Rebuild.
|
||
|
||
Sat Jul 8 13:27:55 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* write.c (fixup_segment): Call resolve_symbol_value on
|
||
sub_symbolP, in case it isn't in the symbol table.
|
||
|
||
Fri Jul 7 11:17:27 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* read.c (s_lcomm): For .lcomm 1, set align to 0, not 1.
|
||
|
||
* config/obj-coff.c (coff_frob_symbol): If SF_GET_FUNCTION, set
|
||
BSF_FUNCTION.
|
||
(symbol_globalP, symbol_global_lastP): New global variables.
|
||
(yank_symbols): Sort defined global symbols to the end, just
|
||
before the undefined symbols.
|
||
(glue_symbols): Add two arguments, and use them instead of
|
||
referring directly to global variables.
|
||
(crawl_symbols): Call glue_symbols twice, once for defined globals
|
||
and once for undefined. Add corresponding know calls.
|
||
|
||
* app.c (do_scrub_next_char): Always accept \v. Don't make it
|
||
conditional on BACKSLASH_V.
|
||
* read.c (next_char_of_string): Likewise.
|
||
* config/obj-bout.h (BACKSLASH_V): Don't define.
|
||
* config/tc-mips.h (BACKSLASH_V): Don't define.
|
||
|
||
Add SPARC ELF PIC support.
|
||
* write.c (fixup_segment): Pass fixP to TC_RELOC_RTSYM_LOC_FIXUP,
|
||
not fixP->fx_r_type.
|
||
* config/tc-sparc.c (sparc_pic_code): New global variable.
|
||
(md_apply_fix): If generating PIC, adjust fx_addnumber for any non
|
||
PC relative reloc.
|
||
(tc_gen_reloc): If generating PIC, adjust various reloc types.
|
||
Remove fx_pcrel assert, since it is no longer true.
|
||
(md_parse_option): Handle -K PIC.
|
||
* config/tc-sparc.h (sparc_pic_code): Declare if OBJ_ELF.
|
||
(TC_RELOC_RTSYM_LOC_FIXUP): Define if OBJ_ELF.
|
||
(tc_fix_adjustable): Don't adjust PC relative relocs if PIC.
|
||
* config/tc-i386.h (TC_RELOC_RTSYM_LOC_FIXUP): Take a fixp, not a
|
||
reloc type.
|
||
|
||
* Makefile.in (Makefile): Add dependency on conf.in, so that conf
|
||
is rebuilt when conf.in changes.
|
||
|
||
Thu Jul 6 16:49:38 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* All files: Updated FSF address.
|
||
|
||
Thu Jul 6 16:30:34 1995 Jim Wilson <wilson@chestnut.cygnus.com>
|
||
|
||
* ecoff.c (add_file): Don't collapse multiple .file commands into
|
||
a single file structure.
|
||
(ecoff_build_lineno): Set ilineBase to sum of previous file's
|
||
ilineBase and cline.
|
||
|
||
Thu Jul 6 12:54:27 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
Patches from Jerry Blakely <gerry_blakley@wellfleet.com>:
|
||
* as.c (listing_filename): New static variable.
|
||
(show_usage): Mention -a=file.
|
||
(parse_args): Support = option of -a to set name of listing file.
|
||
(main): Pass listing_filename to listing_print.
|
||
* listing.c (list_file): New static variable.
|
||
(various): Replace printf with fprintf to list_file.
|
||
(listing_print): If name argument is not NULL, open it as
|
||
list_file.
|
||
* doc/as.texinfo, doc/as.1: Document -a=file.
|
||
|
||
* config/tc-sparc.c (s_reserve): Don't permit redefinition, even
|
||
if the symbol was already in bss_section. Fix warning message.
|
||
|
||
* listing.c (struct file_info_struct): Rename end_pending field to
|
||
at_end.
|
||
(file_info): Initialize at_end, not end_pending.
|
||
(buffer_line): If at_end set, just return immediately. Don't
|
||
worry about end_pending cases. Set at_end when EOF is read.
|
||
(print_source): Check at_end, not end_pending.
|
||
(listing_listing): Likewise.
|
||
|
||
* config/tc-alpha.h (alpha_do_align): Don't declare.
|
||
(md_do_align): Don't define.
|
||
(tc_frob_label): Define.
|
||
(alpha_define_label): Declare.
|
||
(md_flush_pending_output): Define.
|
||
(alpha_flush_pending_output): Declare.
|
||
* config/tc-alpha.c (insn_label): New static variable.
|
||
(auto_align): New static variable.
|
||
(md_pseudo_table): Add cases for .text, .data, .align, .byte,
|
||
.hword, .int, .long, .octa, .quad, .short, .word, .double, .float,
|
||
and .single. Change .t_floating, .s_floating, .f_floating,
|
||
.g_floating, and .d_floating to use s_alpha_float_cons rather than
|
||
float_cons.
|
||
(s_alpha_text, s_alpha_data): New static functions.
|
||
(s_rdata, s_sdata): Clear insn_label and set auto_align.
|
||
(s_gprel32): If auto_align, align. Clear insn_label.
|
||
(emit_insn): Clear insn_label.
|
||
(s_alpha_align): New static function.
|
||
(alpha_align): Make static. Take label argument.
|
||
(alpha_flush_pending_output): New static function.
|
||
(s_alpha_cons, s_alpha_float_cons): New static functions.
|
||
(alpha_define_label): New function.
|
||
|
||
Wed Jul 5 22:49:31 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* conf.in: Regenerate with autoreconf.
|
||
|
||
Mon Jul 3 19:47:53 1995 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* config/obj-vms.h (vms_resolve_symbol_redef): Use full prototype.
|
||
(vms_check_for_special_label, tc_frob_label): Move them to group
|
||
with other prototypes.
|
||
[WANT_VMS_OBJ_DEFS]: Only define the many OBJ_x, DBG_x, and DST_x
|
||
macros when this is defined.
|
||
* config/obj-vms.c: Fully prototype all local functions.
|
||
[symbolS, fragS]: Use consistently instead of their struct tags.
|
||
[WANT_VMS_OBJ_DEFS]: Define this.
|
||
(s_const): Make definition correctly match actual usage.
|
||
(VMS_stab_parse): Make `expected_type' arg be int rather than char.
|
||
(get_VMS_time_on_unix): Define as `static void'.
|
||
(hash_string): Make definition match actual usage; argument is
|
||
`char const *' rather than `unsigned char *'.
|
||
(VMS_Case_Hack_Symbol, VMS_Modify_Psect_Attributes, VMS_Psect_Spec,
|
||
VMS_Global_Symbol_Spec): Declare string args as `const char *'.
|
||
[IS_GXX_VTABLE]: New macro.
|
||
(vms_write_object_file: GSD loop): Use it.
|
||
(vms_write_object_file: data segment): Reorganize `fill' loop.
|
||
|
||
Wed Jul 5 12:01:49 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-sparc.c (md_shortopts): Add "K:" if OBJ_ELF.
|
||
(md_parse_option): If OBJ_ELF, check for -K. Die if -K PIC, since
|
||
PIC code is not currently supported.
|
||
|
||
* as.c (parse_args): Change std_shortopts to be an array rather
|
||
than a constant string. Only include 'K' if WORKING_DOT_WORD is
|
||
not defined. Only check for 'K' in that case as well.
|
||
* as.h (flag_warn_displacement): Only declare if WORKING_DOT_WORD
|
||
is not defined.
|
||
|
||
* conf.in: Add undef of HAVE_SBRK.
|
||
|
||
* config/obj-coff.c (obj_coff_line): Call listing_source_line, in
|
||
both BFD_ASSEMBLER and non BFD_ASSEMBLER versions of the function.
|
||
|
||
* symbols.c (S_SET_EXTERNAL): Warn if symbol is weak.
|
||
(S_CLEAR_EXTERNAL): Likewise.
|
||
(S_SET_WEAK): Warn if symbol is global.
|
||
|
||
* config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt
|
||
to put an undefined symbol into a set.
|
||
|
||
* Makefile.in: Remove @configure_input@; it's not needed in
|
||
files named Makefile.
|
||
|
||
* config/tc-m88k.c (md_pseudo_table): Add ".set" so that the
|
||
explicit pseudo-op works, while continuing to treat "set" as an
|
||
instruction.
|
||
|
||
* ecoff.c (ecoff_debugging_seen): New global variable.
|
||
(ecoff_directive_def): Set ecoff_debugging_seen.
|
||
(ecoff_stab): Likewise.
|
||
* ecoff.h: Make idempotent.
|
||
(ecoff_debugging_seen): Declare.
|
||
* config/tc-mips.c: Include ecoff.h.
|
||
(mips_debug): New static variable.
|
||
(s_stringer, s_mips_space): Remove unneeded declarations.
|
||
(md_parse_option): In case 'g', set mips_debug to debugging level.
|
||
(mips_local_label): New function.
|
||
* config/tc-mips.h (LOCAL_LABEL): Call mips_local_label.
|
||
(mips_local_label): Declare.
|
||
|
||
Wed Jul 5 00:59:22 1995 Fred Fish (fnf@cygnus.com)
|
||
|
||
* as.c (main): Only use sbrk when HAVE_SBRK defined.
|
||
* configure.in: Add test for sbrk.
|
||
* configure: Regenerate using autoconf 2.4.
|
||
|
||
Mon Jul 3 15:58:16 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.h (MAX_RELOC_EXPANSION): Bump to 6.
|
||
* config/tc-hppa.c (tc_gen_reloc, SOM version): Handle
|
||
relocations for the difference of two (possibly external)
|
||
symbols.
|
||
(hppa_fix_adjustable): For SOM, reject reductions involving
|
||
the difference of two symbols.
|
||
(hppa_force_relocation): Force relocations for expressions
|
||
involving the difference of two symbols.
|
||
|
||
Mon Jul 3 14:22:59 1995 Steve Chamberlain <sac@slash.cygnus.com>
|
||
|
||
* configure[.in] (i386-*-win32): New host and target.
|
||
|
||
Thu Jun 29 17:25:43 1995 Steve Chamberlain <sac@slash.cygnus.com>
|
||
|
||
Support for long filenames non-bfd coff.
|
||
* config/obj-coff.c (filename_list_head, filename_list_tail): New.
|
||
(yank_symbols): Notice and record filenames which are too long.
|
||
(w_strings): Write out filename strings.
|
||
(c_dot_file_symbols): Put long filenames onto list.
|
||
|
||
Wed Jun 28 17:33:13 1995 Steve Chamberlain <sac@slash.cygnus.com>
|
||
|
||
* config/obj-coff.c (fixup_segment): PE doesn't use
|
||
the strange common symbol format that other 386s formats
|
||
do.
|
||
* config/tc-i386.c (md_begin): If LEX_AT defined then
|
||
'@' is in the set of identifiers.
|
||
(i386_operand): If LEX_AT, then don't look for @goto stuff.
|
||
* config/te-pe.h: Define LEX_AT.
|
||
|
||
Wed Jun 28 17:49:59 1995 Ken Raeburn <raeburn@cygnus.com>
|
||
|
||
* doc/as.texinfo (H8/500 Floating Point): Indicate that IEEE FP
|
||
numbers are for the standard emulation code.
|
||
(SH Floating Point): Ditto.
|
||
(Overview): Describe new --emulation option for MIPS.
|
||
* doc/*.m4: Deleted.
|
||
|
||
Thu Jun 22 19:26:25 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
Sun May 7 11:53:41 MDT 1995 Bryan Ford <baford@cs.utah.edu>
|
||
|
||
* configure.in: Added i386-*-moss* target.
|
||
|
||
Thu Jun 22 14:41:23 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* write.c (write_object_file): Cast decode_local_label_name
|
||
argument to char * to avoid warning.
|
||
|
||
Wed Jun 21 18:07:59 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
Changes from Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>:
|
||
* config/tc-m68k.c (insword): Increment the frag offsets.
|
||
(struct m68k_it): Add reloc[].pcrel_fix field to hold pc-rel
|
||
fixup.
|
||
(add_fix): Accept additional parameter, the pc-rel fixup. All
|
||
callers changed. Fix offset address if width == 'b'.
|
||
(m68k_ip) [case AINDX]: Allow explicit size spec. Don't make the
|
||
outer displacement pc-relative.
|
||
(md_pcrel_from): Make it relative to the first extension word of
|
||
the operand.
|
||
(opcode_ptr): Make it a macro if DO_BREAK_UP_BIG_DECL is
|
||
undefined.
|
||
(md_convert_frag_1): Don't reference fragP->fr_opcode[2..].
|
||
(md_estimate_size_before_relax) [case TAB (FBRANCH, SZ_UNDEF)]:
|
||
Turn on long bit.
|
||
(m68k_ip) [case 'C']: Don't set set long bit, set it in the opcode
|
||
table.
|
||
(md_estimate_size_before_relax) [case TAB (PCINDEX, SZ_UNDEF)]:
|
||
Variable part increases by four, not six.
|
||
* write.c (fixup_segment) [TC_M68K]: Don't do further pcrel
|
||
processing after converting difference of two symbols in the
|
||
same segment.
|
||
|
||
* write.c (fixup_segment): Don't conditionalize the pcrel fix on
|
||
TC_M68K.
|
||
|
||
* config/tc-sparc.c (sparc_ip, case 'A'): If ASI is not a "#"
|
||
value, don't shift it an extra time.
|
||
|
||
Wed Jun 21 14:18:37 1995 Steve Chamberlain <sac@slash.cygnus.com>
|
||
|
||
* gasp.c (do_print, do_form, buffer_and_nest): Use case insensitive
|
||
string compares.
|
||
|
||
Tue Jun 20 14:55:02 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/obj-coff.c (write_object_file): Cast time() argument to
|
||
time_t *.
|
||
|
||
Tue Jun 20 12:00:53 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_build_unwind_subspace): Fix typo in last
|
||
change.
|
||
|
||
Mon Jun 19 15:27:17 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_build_unwind_subspace): Zero out memory
|
||
from frag_more calls.
|
||
|
||
Thu Jun 15 16:53:37 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||
|
||
* config/obj-coff.c: Don't use "bfd/" when including libbfd.h
|
||
and libcoff.h.
|
||
(fill_section): Call PROGRESS.
|
||
* Makefile.in (INCLUDES): Add bfd srcdir.
|
||
|
||
* mpw-config.in: Add bfd_gas flag and set for each config.
|
||
(i386-unknown-go32, m68k-unknown-coff): Recognize.
|
||
* mpw-make.in (HACK_O_RAMA, OBJ_COFF_OMIT_TIMESTAMP): Add to
|
||
config.h.
|
||
|
||
Thu Jun 15 10:04:26 1995 Doug Evans <dje@canuck.cygnus.com>
|
||
|
||
* config/tc-arm.h (LOCAL_LABEL): Prepend '.' if not OBJ_AOUT.
|
||
(FAKE_LABEL_NAME): Likewise.
|
||
|
||
Mon Jun 12 22:25:39 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_ip): Check for invalid register in single
|
||
precision fmpyadd and fmpysub instructions.
|
||
|
||
Thu Jun 8 19:33:02 1995 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* config/obj-vms.c (myname): Delete all references.
|
||
(VMS_stab_parse, Write_VMS_MHD_Records, VMS_Case_Hack_Symbol):
|
||
Replace printf calls with as_tsktsk.
|
||
(PUT_LONG, PUT_SHORT): Use COPY_LONG, COPY_SHORT.
|
||
(VMS_Store_Immediate_Data): Move second buffer capacity check
|
||
below bottom of loop; first check at top suffices for loop itself.
|
||
(find_file): Remove redundant pointer checks in first two loops;
|
||
replace third loop with pointer to last list element determined
|
||
in first loop.
|
||
|
||
Tue Jun 6 13:53:06 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/tc-sparc.c (sparc_ip): Handle defined absolute symbols as
|
||
ASI values.
|
||
|
||
* config/obj-vms.c (vms_write_object_file, case N_DATA): Use
|
||
strcmp against FAKE_LABEL_NAME instead of checking third
|
||
character. (Suggested by Pat Rankin.)
|
||
|
||
Mon Jun 5 20:10:46 1995 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
Add support for N_ABS and N_ABS|N_EXT type symbols.
|
||
|
||
* config/obj-vms.h (LSY_S_M_{DEF,REL}, ENV_S_M_{DEF,NESTED}):
|
||
New macros for local symbols (from <lsydef.h> and <envdef.h>).
|
||
* config/obj-vms.c (Current_Environment): New file-scope variable.
|
||
(VMS_Local_Environment_Setup): New routine.
|
||
(GBLSYM_LCL): New macro.
|
||
(VMS_Global_Symbol_Spec): Handle local symbols too.
|
||
(VMS_Psect_Spec): Set GLOBALVALUE_BIT for absolute symbols.
|
||
(VMS_Emit_Globalvalues): Handle local and global absolute symbols.
|
||
(VMS_Store_PIC_Symbol_Reference): Ditto.
|
||
(vms_write_object_file: GSD symbol loop): Ditto.
|
||
|
||
Mon Jun 5 16:10:40 1995 Steve Chamberlain <sac@slash.cygnus.com>
|
||
|
||
* config/tc-arm.h (LOCAL_LABELS_FB): Define.
|
||
|
||
Mon Jun 5 02:17:58 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
|
||
|
||
* configure.in (i386-*-gnu*): Always use GNU ELF config.
|
||
|
||
Wed May 31 17:49:18 1995 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* config/obj-vms.c (obj_crawl_symbol_chain): Update *symbolPP
|
||
in `else' clause when removing a symbol. Also, revise comments
|
||
to match the code.
|
||
(vms_write_object_file (GSD symbol loop, case N_DATA)): Never
|
||
output symbol definitions for local numeric labels.
|
||
|
||
Tue May 30 18:29:10 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
|
||
|
||
* configure.in (architecture variants, cases armeb and arm*): Remove
|
||
spaces round assignment to endian.
|
||
|
||
Tue May 30 12:31:31 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* write.c (write_object_file): Check for undefined local dollar
|
||
and fb labels.
|
||
|
||
* symbols.c (decode_local_label_name): Extract instance number
|
||
from the correct location.
|
||
|
||
Sat May 27 21:28:49 1995 J.T. Conklin <jtc@rtl.cygnus.com>
|
||
|
||
* config/te-dpx2.h: Include obj-format.h.
|
||
(COFF_MAGIC): Renamed from FILE_HEADER_MAGIC.
|
||
|
||
Wed May 24 13:45:32 1995 Steve Chamberlain <sac@slash.cygnus.com>
|
||
|
||
* configure, configure.in, config/obj-coff.c, config/obj-coff.h:
|
||
Add support for ARM pe
|
||
|
||
Tue May 23 17:00:32 1995 Doug Evans <dje@canuck.cygnus.com>
|
||
|
||
* config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP16
|
||
and BFD_RELOC_SPARC_WDISP19.
|
||
|
||
Tue May 23 19:18:33 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* as.c (parse_args) [! USE_EMULATIONS]: Always print an error
|
||
message.
|
||
|
||
* doc/internals.texi: Document obj_app_file and
|
||
TARGET_BYTES_BIG_ENDIAN.
|
||
|
||
Mon May 22 20:03:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* ecoff.c (ecoff_stab): Add extra leading argument, for 4 May
|
||
change.
|
||
* ecoff.h (ecoff_stab): Fix declaration.
|
||
* obj.h (format_ops.process_stab): Include prototype.
|
||
* config/obj-elf.h (OBJ_PROCESS_STAB): Pass through seg argument.
|
||
* config/obj-ecoff.h (OBJ_PROCESS_STAB): Ditto.
|
||
|
||
* config/e-mipself.c (mipself): New emulation mode, doesn't change
|
||
endianness from configured default.
|
||
* config/e-mipsecoff.c (mipsecoff): Ditto.
|
||
* configure.in (mips ecoff/elf targets): Include them.
|
||
* as.c (mipself, mipsecoff): Declare.
|
||
|
||
* as.c (emulation_name): New variable.
|
||
(select_emulation_mode): Set emulation_name. Don't change argv.
|
||
(parse_args): Handle --emulation; complain if the supplied name
|
||
isn't what select_emulation_name came up with.
|
||
|
||
Sun May 21 21:36:17 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c: Reverse changes from Dec. 19th which
|
||
changed the way unwinds were built for ELF. Rely on relocation
|
||
symbol reductions to avoid placing the end of function marker
|
||
symbols into the object file's symbol table.
|
||
|
||
Sat May 20 12:31:36 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
|
||
|
||
Added improved VMS support from Pat Rankin:
|
||
|
||
Fri 19 May 16:51:40 1995 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* config/obj-vms.h (AOUT_STABS): Define.
|
||
|
||
* config/obj-vms.c (fpush, rpush): New routines.
|
||
(push): Replaced by the above.
|
||
(find_symbol): Slight reorganization to expose tail recursion.
|
||
|
||
Fri Mar 17 18:40:36 1995 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* Makefile.in (VMS_OTHER_OBJS): delete this.
|
||
* vmsconf.sh (make-gas.com): build ../libiberty/liberty.olb
|
||
first if necessary; link gas against it.
|
||
|
||
Fri May 19 16:37:39 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
|
||
|
||
* gasp.c (istrue): Correctly test for string inequality.
|
||
|
||
Thu May 18 04:25:11 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
|
||
|
||
Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
|
||
|
||
* config/tc-arm.c (CP_T_{Pre,UD,WB}): Define, bits in co-processor
|
||
instructions.
|
||
([ls]fm_flags): Correct error in bitmasks.
|
||
(cp_address_required_here): Delete second parameter, FLAGS. All
|
||
callers changed. Remove all dead code referring to FLAGS. If
|
||
address is just "[Reg]" then convert into a PRE-INCREMENT UP format.
|
||
(do_fp_ldmstm): Handle full-descending and empty-ascending stack
|
||
formats explicitly.
|
||
|
||
* config/tc-arm.c (internalError): Define.
|
||
(ARM_{1,2,250,3,6,7,7DM,ANY,2UP,ALL,3UP,6UP,LONGMUL}): Define processor
|
||
variants.
|
||
(FPU_{CORE,FPA10,FPA11,NONE,ALL,MEMMULTI}): Define floating point
|
||
variants.
|
||
({CPU,FPU}_DEFAULT): Define.
|
||
(cpu_variant): New variable.
|
||
(asm_flg): Change more_flags to flag_bits.
|
||
Add prototypes for new functions.
|
||
(FLAG_{S,P,B,T,ED,FD,FA,EA,IB,IA,DB,DA,L}): Delete.
|
||
(s_flag[], ldst_flags[], byte_flag[], cmp_flags[], ldm_flags[],
|
||
stm_flags[], lfm_flags[], sfm_flags[], round_flags[], except_flags[],
|
||
cplong_flag[]): New variables.
|
||
(asm_opcode, insns[]): New format, add version support.
|
||
(arm_flg_hsh): Delete.
|
||
(do_mul, do_mla): Remove "Warning" from warning messages.
|
||
(do_arit): Simplify.
|
||
(do_swap): Make error message more appropriate.
|
||
(md_begin): Build hash tables starting at first entry in tables.
|
||
(md_number_to_chars): Cope with big/little-endian selection.
|
||
(md_chars_to_number): New function.
|
||
(md_apply_fix): Rewrite to make endian independent.
|
||
(tc_gen_reloc): Better error messages.
|
||
(md_assemble): Reject opcodes forbidden by the currently selected cpu
|
||
variant. Rewrite handling code for instruction flags.
|
||
(md_shortopts): Add option "m:".
|
||
(md_parse_option): Get the desired cpu/fpu variant.
|
||
|
||
From: David Taylor (dtaylor@armltd.co.uk)
|
||
* configure.in (architecture variants): Check for "armeb" and "arm*",
|
||
set endianness accordingly.
|
||
* read.c (read_a_source_file): New hooks md_start_line_hook and
|
||
md_after_pass_hook.
|
||
* config/arm-{big,lit}.mt: New files
|
||
* config/tc-arm.h ({LITTLE,BIG}_ENDIAN, BYTE_ORDER): Define.
|
||
(TARGET_FORMAT): Select depending on endianness and emulation and
|
||
object format.
|
||
(md_after_pass_hook, md_start_line_hook): Define.
|
||
* config/tc-arm.c: Include subsegs.h, symbols.h and listing.h.
|
||
(shift[]): Add uppper case equivalents.
|
||
(CP_T_[XY], TRANS_BIT): Define.
|
||
(conds[]): Delete initial NULL entry, add "lo" entry as synonym for
|
||
"cc".
|
||
(LONGEST_FLAG, flags[]): Delete.
|
||
(arm_psr): New structure.
|
||
(psrs[]): New variable.
|
||
(PSR_ALL): Define.
|
||
(LONGEST_INST): Bump to 5.
|
||
(LITERAL_MASK, COND_MASK, OPCODE_MASK, DATA_OP_SHIFT): Define.
|
||
(OPCODE_{AND,EOR,SUB,RSB,ADD,ADC,SBC,RSC,TST,TEQ,CMP,CMN,ORR,MOV,BIC,
|
||
MVN}): Define.
|
||
(insns[]): Add smull, umull, smlal, umlal, ldfm, stfm, msr and mrs
|
||
instructions. Add nop and adr pseudo ops.
|
||
(reg_table): Add APCS register name variants.
|
||
(arm_psr_hsh): New hash table.
|
||
(md_pseudo_table): Add "ltorg", "pool", "extend", "ldouble" and
|
||
"packed".
|
||
(MAX_LITERAL_POOL_SIZE): Define.
|
||
(struct literalS): New structure.
|
||
(literals, next_literal_pool_place, lit_pool_num, current_poolP): New
|
||
variables.
|
||
(add_to_lit_pool, symbol_locate, symbol_make_empty): New functions.
|
||
(validate_immediate): Return FAIL on failure.
|
||
(s_ltorg): New function.
|
||
(psr_required_here, psrf_required_here): New functions.
|
||
(cp_address_required_here): New parameter, flag, all callers changed.
|
||
If flag is non-zero, restrict the legal addressing modes.
|
||
(do_nop, do_mrs, do_msr, do_mull): New functions.
|
||
(negate_data_op): New function.
|
||
(data_op2): accept #x,y meaning x rotated right by y, but only when
|
||
suitable constants. If immediate is not legal, try changing the
|
||
opcode.
|
||
(do_adr): New function.
|
||
(do_ldst): accept "ldr reg, =expr". Put expr in the pool if it can't
|
||
be done as an immediate.
|
||
(do_fp_ldst): Use CP_T_[XY], not immediate values.
|
||
(do_fp_ldmstm): New function.
|
||
(arm_psr_parse): New function.
|
||
(output_inst): Use INSN_SIZE in call to md_number_to_chars.
|
||
(md_assemble): Add hack so that "Label instruction" causes alignment of
|
||
the label.
|
||
(arm_after_pass_hook, arm_start_line_hook, arm_frob_symbol): New
|
||
functions.
|
||
|
||
Wed May 17 05:25:16 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* config/tc-ppc.c (md_show_usage): Add \'s at end of lines in
|
||
strings for non-GCC compilers.
|
||
|
||
Tue May 16 19:36:00 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/obj-ecoff.c (ecoff_pop_insert): New function.
|
||
(ecoff_format_ops): Use it.
|
||
(obj_ecoff_frob_symbol): Now static.
|
||
|
||
Wed May 17 00:59:12 1995 Andrew Cagney - aka Noid <cagney@highland.com.au>
|
||
|
||
* config/tc-ppc.c (md_begin): Was assuming that an instruction was
|
||
bigendian and hence 16bit relocs withing instructions would
|
||
ALWAYS be at addresses i+2-i+3. In LE mode it is i+0-i+1.
|
||
|
||
Tue May 16 16:29:58 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/obj-multi.h (obj_frob_symbol, obj_frob_file, S_GET_SIZE,
|
||
S_SET_SIZE, S_GET_ALIGN, S_SET_ALIGN, obj_copy_symbol_attributes,
|
||
OBJ_PROCESS_STAB): New macros.
|
||
* config/tc-mips.c: Protect against redefining them also when
|
||
including obj-elf.h. Test only OBJ_ELF for including elf/mips.h.
|
||
(mips_init_after_args): New function. Set byte_order here.
|
||
(md_parse_option): Not here.
|
||
(byte_order): Don't bother initializing.
|
||
* config/tc-mips.h (mips_init_after_args): Declare.
|
||
(tc_init_after_args): New macro.
|
||
|
||
* read.c (s_lcomm): Do ELF/ECOFF test at run time, not compile
|
||
time.
|
||
|
||
Fri May 12 14:17:47 1995 Steve Chamberlain <sac@slash.cygnus.com>
|
||
|
||
Initial support for PE object files.
|
||
* configure.in, configure (i386-*-pe, i386-*-*nt): Add.
|
||
* config/obj-coff.c (fixup_segment): Cope with PE wierdness.
|
||
* config/obj-coff.h (TE_PE): New target format.
|
||
|
||
Thu May 11 14:58:21 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/obj-elf.c (NEED_ECOFF_DEBUG): Define if ECOFF_DEBUGGING
|
||
was defined by header files. Test in preprocessor conditionals
|
||
instead of ECOFF_DEBUGGING.
|
||
(ecoff_debug_pseudo_table): Make empty if NEED_ECOFF_DEBUG is not
|
||
defined.
|
||
(obj_read_begin_hook, obj_symbol_new_hook, elf_frob_symbol,
|
||
elf_frob_file): Only call ecoff routines if NEED_ECOFF_DEBUG is
|
||
defined.
|
||
(elf_ecoff_set_ext, elf_get_extr, elf_set_index): Define only if
|
||
NEED_ECOFF_DEBUG is defined.
|
||
(elf_format_ops): Reference elf_ecoff_set_ext only if
|
||
NEED_ECOFF_DEBUG.
|
||
|
||
Wed May 10 18:09:12 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* Makefile.in (OBJS): Include @extra_objects@.
|
||
(obj-elf.o, obj-ecoff.o, e-mipself.o, e-mipsecoff.o): New rules
|
||
for building these independently.
|
||
* emul-target.h, config/e-mipself.c, config/e-mipsecoff.c: New
|
||
files.
|
||
|
||
* acconfig.h (DEFAULT_EMULATION, EMULATIONS, USE_EMULATIONS,
|
||
OBJ_MAYBE_*, I386COFF, M68KCOFF, M88KCOFF): New macros.
|
||
* aclocal.m4 (GAS_UNIQ): New macro.
|
||
|
||
* as.c (emulations, n_emulations) [USE_EMULATIONS]: New variable.
|
||
(select_emulation_mode, default_emul_bfd_name, common_emul_init)
|
||
[USE_EMULATIONS]: New functions.
|
||
(main) [USE_EMULATIONS]: Call select_emulation_mode before other
|
||
initialization.
|
||
* emul.h: New file.
|
||
* as.h [USE_EMULATIONS]: Include it.
|
||
|
||
* configure.in: Handle enable-targets option. Iterate over target
|
||
list, building up a list of object file formats and emulation
|
||
configurations. (Only supports emulations for MIPS CPU so far.)
|
||
If multiple formats are needed, set obj_format to multi and add
|
||
format config files to extra_files. If emulation modes are
|
||
needed, add the relevant files to extra_files.
|
||
|
||
* configure.in: Define I386COFF, M68KCOFF, M88KCOFF for those
|
||
configurations.
|
||
|
||
* ecoff.c (ecoff_generate_asm_lineno): Filename argument now
|
||
points to const.
|
||
* ecoff.h (ecoff_generate_asm_lineno): Updated declaration.
|
||
|
||
* obj.h (obj_read_begin_hook): Don't declare function if it's
|
||
already a macro.
|
||
|
||
* read.c (s_space, cons, stringer): If md_flush_pending_output is
|
||
defined, call it on entry.
|
||
* config/obj-elf.c (obj_elf_section): If md_flush_pending_output
|
||
is defined, call it on entry. If md_elf_section_change_hook is
|
||
defined, call it before returning normally.
|
||
|
||
* read.h (target_big_endian): Declare.
|
||
|
||
* obj.h (struct format_ops): Added new function pointer fields
|
||
ecoff_set_ext, read_begin_hook, symbol_new_hook.
|
||
(ecoff_format_ops, elf_format_ops): Declare.
|
||
* config/obj-elf.c (elf_s_get_size, elf_s_set_size,
|
||
elf_s_get_align, elf_s_set_align, elf_copy_symbol_attributes,
|
||
elf_sec_sym_ok_for_reloc): New functions.
|
||
(elf_format_ops): New variable.
|
||
(elf_frob_symbol): Now takes additional int* argument.
|
||
* config/obj-elf.h (elf_frob_symbol): Update declaration.
|
||
(elf_pop_insert): Declare.
|
||
(obj_pop_insert): Define to call elf_pop_insert.
|
||
* config/obj-ecoff.c (ecoff_sec_sym_ok_for_reloc,
|
||
obj_ecoff_frob_symbol): New functions.
|
||
(ecoff_format_ops): New variable.
|
||
|
||
* config/te-generic.h: If OBJ_HEADER is defined, use it as the
|
||
filename to include in place of obj-format.h.
|
||
* config/te-multi.h: New file, copied from te-generic.h.
|
||
* config/obj-elf.c (OBJ_HEADER): Define it to "obj-elf.h".
|
||
* config/obj-ecoff.c (OBJ_HEADER): Define it to "obj-ecoff.h".
|
||
|
||
* config/obj-elf.c (ECOFF_DEBUGGING): Default to 0.
|
||
(obj_read_begin_hook, obj_symbol_new_hook, elf_frob_symbol,
|
||
elf_frob_file): Test it at run time.
|
||
(obj_ecoff_set_ext, elf_get_extr, elf_set_index): Define
|
||
unconditionally.
|
||
(elf_pseudo_table): Renamed from obj_pseudo_table, now static.
|
||
(ecoff_debug_pseudo_table): Split off into separate table. Define
|
||
it unconditionally.
|
||
(elf_pop_insert): New function.
|
||
* config/obj-elf.h (elf_pop_insert): Declare.
|
||
(obj_pop_insert): New macro.
|
||
(obj_ecoff_set_ext) [!OBJ_MAYBE_ELF]: Define to elf_ecoff_set_ext.
|
||
* config/obj-ecoff.h (obj_ecoff_set_ext): Define to ecoff_set_ext.
|
||
|
||
* config/tc-mips.h: Protect against multiple inclusions.
|
||
(mips_pop_insert): Declare.
|
||
(md_pop_insert): Call it.
|
||
|
||
* config/tc-mips.c: If OBJ_MAYBE_ELF is defined, include
|
||
obj-elf.h, but preserve OUTPUT_FLAVOR and protect some other
|
||
macros from redefinition.
|
||
(ECOFF_DEBUGGING): Default to 0. All references changed to
|
||
run-time tests or made unconditional.
|
||
(s_stringer, s_mips_space, s_elf_section): Deleted.
|
||
(md_pseudo_table): Don't refer to them. Split table into three
|
||
sections, for MIPS, non-ECOFF_DEBUGGING, and ELF.
|
||
(mips_pop_insert): New function.
|
||
(mips_flush_pending_output): New function.
|
||
(mips_enable_auto_align): New function.
|
||
* config/tc-mips.h (mips_pop_insert): Declare.
|
||
(md_pop_insert): New macro.
|
||
(mips_flush_pending_output): Declare.
|
||
(md_flush_pending_output): New macro.
|
||
(mips_enable_auto_align): Declare.
|
||
(md_elf_section_change_hook): New macro, calls
|
||
mips_enable_auto_align.
|
||
|
||
Tue May 9 17:07:41 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* configure.in: Add little endian PowerPC support.
|
||
* configure: Rebuild with autoconf.
|
||
* config/ppc-big.mt: New file for big endian PowerPC systems.
|
||
* config/ppc-lit.mt: New file for little endian PowerPC systems.
|
||
|
||
* config/tc-ppc.h (target_big_endian): Declare.
|
||
(TARGET_FORMAT): Deal with little and big endian ELF variants.
|
||
(TARGET_BYTES_BIG_ENDIAN): Define as 1, not empty.
|
||
|
||
* config/tc-ppc.c (ppc_big_endian): Delete variable, use
|
||
target_big_endian instead.
|
||
(md_parse_option): Parse -mlittle and -mlittle-endian to use
|
||
little endian support. Parse -mbig and -mbig-endian to use big
|
||
endian support.
|
||
(md_show_usage): Update to reflect current switches.
|
||
(ppc_set_cpu): Recognize powerpcle as little endian PowerPC. Use
|
||
as_fatal, not abort if unknown machine.
|
||
|
||
Tue May 9 10:58:41 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (md_apply_fix): Cast *valp to an integer when
|
||
comparing against signed values.
|
||
(hppa_force_relocation): Make "distance" an integer.
|
||
|
||
Tue May 9 00:47:03 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
||
|
||
* obj.h (struct format_ops) [BFD_ASSEMBLER]: New type.
|
||
(this_format) [BFD_ASSEMBLER]: Declare new variable, if not
|
||
already defined as a macro.
|
||
|
||
Mon May 8 21:44:13 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* subsegs.h (seg_info): Provide dummy version for
|
||
non-BFD_ASSEMBLER, non-MANY_SEGMENTS configuration. It should
|
||
never get invoked, but this is easier than conditionalizing some
|
||
of the uses.
|
||
(struct seg_info_trash): Dummy type used by above to make code
|
||
compile.
|
||
|
||
Fri May 5 14:47:13 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define to 1, not
|
||
empty.
|
||
* config/obj-elf.h (SEPARATE_STAB_SECTIONS): Ditto.
|
||
* config/obj-som.h (SEPARATE_STAB_SECTIONS): Ditto.
|
||
|
||
Thu May 4 19:26:55 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* stabs.c (get_stab_string_offset): Always define. If
|
||
SEPARATE_STAB_SECTIONS isn't set, abort.
|
||
(SEPARATE_STAB_SECTIONS): Default to zero.
|
||
(aout_process_stab): New function, split out from s_stab_generic.
|
||
(OBJ_PROCESS_STAB) [AOUT_STABS]: Define to call aout_process_stab,
|
||
if not already defined.
|
||
(s_stab_generic): Test SEPARATE_STAB_SECTIONS at run time. If
|
||
it's not set, and OBJ_PROCESS_STAB isn't defined, abort. Always
|
||
pass six arguments to OBJ_PROCESS_STAB.
|
||
* read.h (get_stab_string_offset): Declare unconditionally.
|
||
* config/obj-aout.h (AOUT_STABS): Define.
|
||
* config/obj-bout.h (AOUT_STABS): Define.
|
||
* config/obj-ecoff.h (OBJ_PROCESS_STAB): Add new first argument,
|
||
ignored.
|
||
* config/obj-elf.h (OBJ_PROCESS_STAB) [ECOFF_DEBUGGING]: Ditto.
|
||
|
||
* config/obj-ecoff.h (ECOFF_DEBUGGING): Define to 1, not empty.
|
||
* config/obj-elf.h (ECOFF_DEBUGGING): Ditto. Test value, not
|
||
whether it's defined.
|
||
|
||
Wed May 3 21:38:20 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* as.h (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): If not already
|
||
defined, define them to zero.
|
||
* config/tc-*.h, config/te-*.h: If defining them, define them to
|
||
be 1 instead of empty.
|
||
* expr.c (integer_constant, operand): Test them at run time
|
||
instead of compile time.
|
||
* read.c (read_a_source_file): Ditto.
|
||
* symbols.c (colon): Ditto.
|
||
(dollar_*, define_dollar_label, fb_*): Define unconditionally.
|
||
* symbols.h (dollar_*, define_dollar_label, fb_*): Declare
|
||
unconditionally.
|
||
|
||
Wed May 3 13:08:53 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (md_apply_fix): Do nothing for an out of range
|
||
PC relative call since those only occur in cases where the linker
|
||
can fix them up.
|
||
(hppa_force_relocation): Force relocations for out of range PC
|
||
relative calls.
|
||
|
||
Tue May 2 16:34:47 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* configure (hppa*-*-lites*): Handle just like hppa*-*-*elf*.
|
||
* configure.in: Likewise.
|
||
|
||
Tue May 2 11:22:00 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* read.c (pop_insert): New function.
|
||
(pop_override_ok, pop_table_name): New variables.
|
||
(md_pop_insert, obj_pop_insert): New macros.
|
||
(pobegin): Use them.
|
||
|
||
* config/tc-mips.c: Use USE_STDARG and USE_VARARGS instead of
|
||
NO_STDARG &c.
|
||
|
||
* read.c (target_big_endian): If TARGET_BYTES_BIG_ENDIAN is
|
||
defined, initialize to 1.
|
||
* config/tc-mips.c (mips_target_format): Changed to a function,
|
||
checking flavor and byte order at run time.
|
||
(md_parse_option, cases OPTION_EB and OPTION_EL): Set
|
||
target_big_endian here.
|
||
(md_begin): Not here.
|
||
* config/tc-mips.h (mips_target_format): Adjust declaration.
|
||
(TARGET_FORMAT): Call mips_target_format.
|
||
|
||
* config/tc-mips.h (USE_GLOBAL_POINTER_OPT): Define in terms of
|
||
OUTPUT_FLAVOR.
|
||
* config/tc-mips.c (g_switch_value, g_switch_seen): Define
|
||
unconditionally.
|
||
(md_begin, mips_ip, md_parse_option, s_change_sec, s_option,
|
||
s_abicalls, nopic_need_relax): Check USE_GLOBAL_POINTER_OPT at run
|
||
time, instead of compiling conditionally on GPOPT.
|
||
(GPOPT): Don't define.
|
||
(md_shortopts): Always include -G.
|
||
(RDATA_SECTION_NAME): Select at run time.
|
||
(md_begin): Test for ELF format at run time instead of compile time.
|
||
(mips_ip, s_change_sec): Ditto.
|
||
(md_parse_option, cases OPTION_CALL_SHARED and OPTION_NON_SHARED):
|
||
Ditto.
|
||
(OPTION_CALL_SHARED, OPTION_NON_SHARED, mips_regmask_frag): Define
|
||
unconditionally.
|
||
|
||
Tue May 2 00:17:04 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
||
|
||
* Makefile.in (TARG_CPU_DEP_*): New variables.
|
||
(targ-cpu.o): Depend on one, selected by autoconf substitution,
|
||
instead of TARG_CPU_DEPENDENTS.
|
||
* configure.in: Substitute $cpu_type, $obj_format, $atof, and
|
||
$emulation into Makefile.in.
|
||
* config/h8300.mt: Deleted.
|
||
* config/h8500.mt: Deleted.
|
||
* config/i386coff.mt (TARG_CPU_DEPENDENTS): Deleted.
|
||
* config/m68k.mt: Deleted.
|
||
* config/m68kcoff.mt (TARG_CPU_DEPENDENTS): Deleted.
|
||
* config/m88kcoff.mt (TARG_CPU_DEPENDENTS): Deleted.
|
||
* config/mips-big.mt (TARG_CPU_DEPENDENTS): Deleted.
|
||
* config/mips-lit.mt (TARG_CPU_DEPENDENTS): Deleted.
|
||
* config/sh.mt: Deleted.
|
||
* config/w65.mt: Deleted.
|
||
* config/z8k.mt: Deleted.
|
||
|
||
* config/te-dpx2.h (dpx2): Deleted unused macro.
|
||
* config/te-generic.h (TE_GENERIC): Ditto.
|
||
* config/te-go32.h (TE_GO32): Ditto.
|
||
* config/te-hp300.h (TE_HP300): Ditto.
|
||
* config/te-hppa.h (PA, _TE_PA_H): Ditto.
|
||
* config/te-ic960.h (TE_IC960): Ditto.
|
||
* config/te-nbsd532.h (TE_NETBSD532): Ditto.
|
||
* config/te-pc532mach.h (TE_PC532MACH): Ditto.
|
||
* config/te-ppcnw.h (TE_PPCNW): Ditto.
|
||
* config/te-sco386.h (scounix): Ditto.
|
||
|
||
Mon May 1 15:59:56 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* read.c (s_app_file): If obj_app_file is defined, call it with
|
||
string as argument. Don't call c_dot_file_symbol or
|
||
elf_file_symbol.
|
||
* config/obj-coff.h (obj_app_file): Define as c_dot_file_symbol.
|
||
* config/obj-elf.h (obj_app_file): Define as elf_file_symbol.
|
||
|
||
* as.h (OUTPUT_FLAVOR): Don't define here.
|
||
* config/obj-aout.h (OUTPUT_FLAVOR) [BFD_ASSEMBLER]: Define.
|
||
* config/obj-bout.h (OUTPUT_FLAVOR): Define.
|
||
* config/obj-coff.h (OUTPUT_FLAVOR) [BFD_ASSEMBLER]: Define.
|
||
* config/obj-ecoff.h (OUTPUT_FLAVOR): Define.
|
||
* config/obj-elf.h (OUTPUT_FLAVOR): Define.
|
||
|
||
Thu Apr 27 20:07:33 1995 Doug Evans <dje@canuck.cygnus.com>
|
||
|
||
* Makefile.in (RUNTEST): Use one in srcdir if present.
|
||
(RUNTESTFLAGS): Define.
|
||
|
||
Wed Apr 26 15:54:10 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
Support for more portable alignment handling in assembly code,
|
||
based on patches from Bryan Ford <baford@schirf.cs.utah.edu>:
|
||
* read.c (potable): Added balign and p2align, for aligning by
|
||
bytes or powers of two independent of what ".align" does for a
|
||
given target.
|
||
* doc/as.texinfo: Document them.
|
||
|
||
Tue Apr 25 11:12:04 1995 Rob Savoye <rob@thepub.cygnus.com>
|
||
|
||
* configure, configure.in: Look for m68k-*-vxworks* rather than
|
||
just m68k-wrs-vxworks so gas can be configured for
|
||
m68k-vxworks5.1.
|
||
|
||
Fri Apr 21 15:19:06 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/tc-sh.c (md_apply_fix): If fx_r_type is zero, handle
|
||
fx_size of 1, and abort on unrecognized sizes.
|
||
|
||
* config/tc-m68k.c (m68k_ip): Fix bug in last change regarding
|
||
non-isvar case.
|
||
|
||
Sun Apr 16 01:52:52 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
|
||
|
||
* config/tc-m68k.h (md_relax_table, TC_GENERIC_RELAX_TABLE):
|
||
Missed this one in 11 Apr changes.
|
||
|
||
* config/tc-i386.h (TC_GENERIC_RELAX_TABLE): Fix typo.
|
||
|
||
Thu Apr 13 18:18:08 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/tc-sh.c (md_convert_frag): Instead of aborting on large
|
||
displacements, print an error message. Don't invoke the code that
|
||
followed the abort call until it's been verified.
|
||
|
||
* config/tc-m68k.c (md_show_usage): Add 68060 to list. Split cpu
|
||
list into three lines.
|
||
|
||
Thu Apr 13 14:34:36 1995 Torbjorn Granlund <tege@adder.cygnus.com>
|
||
|
||
* config/tc-m68k.c (m68k_init_after_args): Test for m68360.
|
||
(md_parse_option): Likewise.
|
||
(md_show_usage): Mention m68360.
|
||
* config/tc-m68k.h (TARGET_WORD_SIZE): Define.
|
||
(TARGET_ARCH): Define.
|
||
|
||
* expr.c (integer_constant): If TARGET_WORD_SIZE is defined,
|
||
sign-extend appropriately.
|
||
|
||
Thu Apr 13 11:20:17 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* config/tc-ppc.c (ppc_elf_validate_fix): Properly use PARAMS to
|
||
hide prototype from non-ANSI compilers, and don't use ANSI syntax
|
||
for arguments.
|
||
|
||
Wed Apr 12 12:20:19 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||
|
||
* mpw-config.in (TDEFINES): Put empty definition into
|
||
makefile fragment.
|
||
* mpw-make.in (xmalloc.c.o): Remove.
|
||
(as.new): Depend on Version.r.
|
||
(Version.r): Generate from version info.
|
||
|
||
* mpw-make.in: Delete references to hex-value.c.
|
||
|
||
* mpw-config.in: Add mapping from configs to object file formats,
|
||
get VERSION from Makefile.in and add to mk.tmp.
|
||
(mips-idt-ecoff) [TDEFINES]: Add TARGET_BYTES_BIG_ENDIAN.
|
||
* mpw-make.in (VERSION, gC): Don't define.
|
||
(ALL_CFLAGS): Remove -d flags.
|
||
(config.h): Remove definition of MPW, add HAVE_STDARG_H,
|
||
BFD_ASSEMBLER.
|
||
|
||
* mpw-make.in (ALL_CFLAGS): Add definition of HAVE_STDARG_H,
|
||
include of ::libiberty:.
|
||
(config.h): Ifdef contents on GAS_VERSION.
|
||
|
||
* mpw-make.in (as.c): Compile with C not gC.
|
||
(config-stamp): Touch correctly.
|
||
(install-only): New target.
|
||
(install): Depend on all and install-only.
|
||
|
||
* mpw-config.in: Parse target and use to generate forward includes
|
||
to tc-, obj-, and atof- files, use te-generic.h for emulation.
|
||
* mpw-make.in (VERSION): Define.
|
||
(as.c): Compile with GCC.
|
||
(TARG_OBJECTS, CLIBS): Define.
|
||
(as.new): Use LDFLAGS, TARG_OBJECTS, CLIBS and EXTRALIBS in link
|
||
command.
|
||
(config.h, config-stamp): Build.
|
||
|
||
* mpw-make.in (C, CFLAGS): Removed definitions.
|
||
(ALL_CFLAGS): Define.
|
||
Set default rule to use {CC} instead of {C}.
|
||
|
||
* mpw-make.in (install): Moved here from mpw-build.in.
|
||
* mpw-build.in: Removed, functionality in mpw-make.in
|
||
|
||
* mpw-make.in (CFLAGS): Add more include paths.
|
||
|
||
* mpw-config.in (varargs.h, sys/*.h): Don't create when
|
||
configuring.
|
||
* mpw-make.in (CFLAGS): Add -w flag.
|
||
|
||
* mpw-make.in: Replace 8-bit chars with their names.
|
||
|
||
* mpw-config.in: New file, MPW version of configure.in.
|
||
* mpw-make.in: New file, MPW version of Makefile.in.
|
||
|
||
Tue Apr 11 01:42:36 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* configure.in: Require at least autoconf 2.3, because earlier
|
||
versions lose on some AIX versions.
|
||
* configure: Regenerated.
|
||
|
||
* configure.in: Add m68k-*-elf.
|
||
* config/tc-m68k.c (comment_chars) [OBJ_ELF]: Include '#'.
|
||
(md_pseudo_table) [OBJ_ELF]: Ignore "swbeg".
|
||
(md_begin): Set alt_notend_table['&'], so svr4-style immediate
|
||
operands are accepted.
|
||
(md_apply_fix): Argument VALP should point to valueT.
|
||
(md_convert_frag): Argument SEC should be type segT.
|
||
(md_shortopts) [OBJ_ELF]: Accept 'Q' with an argument.
|
||
(md_parse_option): Ignore it.
|
||
(md_convert_frag_1): Add in frag address for the symbol in the
|
||
displacement calculation.
|
||
* config/tc-m68k.h (TARGET_FORMAT) [OBJ_ELF]: Use "elf32-m68k".
|
||
(TARGET_ARCH): Define.
|
||
(REGISTER_PREFIX_OPTIONAL) [OBJ_ELF]: Default to 0.
|
||
(LOCAL_LABEL, FAKE_LABEL_NAME, REGISTER_PREFIX_OPTIONAL): Handle
|
||
these the same way for OBJ_ELF as for M68KCOFF.
|
||
|
||
* gdbinit.in: Add breakpoint in as_abort.
|
||
|
||
* write.c (cvt_frag_to_fill): If offset is less than zero,
|
||
complain about it specifically, instead of reporting an assertion
|
||
failure.
|
||
(relax_segment): Complain about .org backwards, then ignore it.
|
||
Do generic rs_machine_dependent relaxation only if
|
||
TC_GENERIC_RELAX_TABLE is defined, and use its value for the base
|
||
of the table.
|
||
* tc.h (md_relax_table): Delete declaration.
|
||
* as.h (struct relax_type): Add forward declaration for type.
|
||
* config/tc-a29k.c: Deleted md_relax_table.
|
||
* config/tc-{alpha,arm,h8300,hppa,i860,m88k,mips,ppc,sparc,z8k}.c:
|
||
Ditto.
|
||
* config/tc-{h8500,i386,i960,ns32k,sh,tahoe,vax,w65}.h: Declare
|
||
md_relax_table here, and define TC_GENERIC_RELAX_TABLE to expand
|
||
to md_relax_table.
|
||
* config/tc-h8500.c (md_relax_table): No longer const.
|
||
* config/tc-w65.c (md_relax_table): Ditto.
|
||
* config/tc-sparc.c (md_short_jump_size, md_long_jump_size):
|
||
Deleted.
|
||
* doc/internals.texi: Describe TC_GENERIC_RELAX_TABLE and
|
||
WORKING_DOT_WORD. Mention md_*_jump_size (but description needs
|
||
to be fleshed out later). Note m68k PCINDEX mode has been checked
|
||
in.
|
||
|
||
Mon Apr 10 15:57:42 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/tc-mips.c (nopic_need_relax): New static function, split
|
||
out from md_estimate_size_before_relax.
|
||
(md_estimate_size_before_relax): Call it.
|
||
(load_address, macro): In NO_PIC branches, if nopic_need_relax
|
||
returns nonzero, don't attempt GP optimization.
|
||
|
||
* config/tc-m68k.c (PCINDEX): New macro.
|
||
(md_relax_table): No longer const. Add PCINDEX entries.
|
||
(m68k_ip): For AINDX with simple symbol operand, generate a
|
||
PCINDEX frag if PC is used, or do normal non-AINDX processing for
|
||
address register.
|
||
(m68k_init_after_args): If cpu is 68000 or 68010, fix
|
||
md_relax_table to prevent relaxation of PCINDEX/BYTE mode to
|
||
SHORT, since they don't support that mode.
|
||
(md_convert_frag_1, case PCLEA/LONG): Add 4 to offset, not 2. Add
|
||
support for new PCINDEX modes.
|
||
(md_estimate_size_before_relax): Process PCINDEX/SZ_UNDEF mode.
|
||
|
||
* config/tc-m68k.c (md_convert_frag_1, case PCLEA/SHORT): Add 2 to
|
||
offset.
|
||
(m68k_ip, case most punctuation/AOFF): If using PC, call add_frag
|
||
using PCLEA.
|
||
|
||
* config/tc-m68k.c: Don't explicitly include config.h. Deleted a
|
||
bunch of "#if 0" code and useless comments.
|
||
(struct m68k_cpu): New type.
|
||
(archs, n_archs): New variables, with single list of name/enum
|
||
mapping and aliases.
|
||
(m68k_ip): Delete the table here.
|
||
(m68k_init_after_args): Use the new table here instead of
|
||
open-coding it.
|
||
(md_parse_option, case 'm'): Ditto.
|
||
|
||
* doc/Makefile.in (Makefile): Fix rule for running config.status.
|
||
(internals.dvi, internals.ps, internals.ps4): New targets, not
|
||
built by default.
|
||
|
||
* doc/internals.texi: Add loud disclaimer. Refill to 79 columns,
|
||
specify fill-column in local-variables section. Change
|
||
subheadings to subsections so they can be cross-referenced.
|
||
Describe broken words, frags, frag chains, generic relaxation,
|
||
relax table, m68k relaxation, m68k addressing modes, test suite
|
||
code. Add a few words about various file formats.
|
||
|
||
* doc/as.texinfo (m68k): Recommend using `%' with registers as the
|
||
normal case, instead of the exceptional case.
|
||
|
||
Thu Mar 30 14:38:47 1995 H.J. Lu (hjl@nynexst.com)
|
||
|
||
* configure.in: Change linux to default to elf. Using
|
||
i[345]86-*-linuxaout will defaults to a.out.
|
||
* configure: Rebuild.
|
||
|
||
Wed Mar 29 17:16:30 1995 Torbjorn Granlund <tege@adder.cygnus.com>
|
||
|
||
* config/tc-m68k.c (md_apply_fix_2): Cast negative offsets to offsetT
|
||
(for hosting on 64 bit machines).
|
||
|
||
Tue Mar 21 16:53:27 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-mips.c (md_show_usage): Mention -mips4 and -m4650.
|
||
|
||
Fri Mar 17 16:47:13 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||
|
||
* write.c (write_object_file): Add PROGRESS macros.
|
||
|
||
Fri Mar 17 12:40:34 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_comm): Make sure to always reset the frag
|
||
and section for common symbols.
|
||
|
||
Thu Mar 16 17:26:18 1995 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* config/tc-ppc.c (ppc_elf_validate_fix): Allow non PC relative
|
||
pointers in the .ctors and .dtors section also when using the
|
||
-mrelocatable option.
|
||
(md_parse_option): Support -m403 as a PowerPC computer.
|
||
(md_show_usage): Ditto.
|
||
|
||
Wed Mar 15 14:45:42 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* ecoff.c (ecoff_build_debug): The cur_scope field of a fil_ptr
|
||
may be NULL when given strange input. Don't core dump.
|
||
|
||
Tue Mar 14 21:36:34 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-mips.c (load_register): Don't use addiu for dli of an
|
||
unsigned seemingly negative number. Don't bother shifting a zero
|
||
value.
|
||
(mips_ip): For case 'j', if there are more alternatives, and the
|
||
ISA level is at least 3, don't accept an unsigned seemingly
|
||
negative number.
|
||
|
||
Tue Mar 14 19:16:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* read.c (s_app_line): Fix last patch to deal with a line number
|
||
of 1.
|
||
|
||
Tue Mar 14 17:00:57 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* config/tc-ppc.c (ppc_elf_validate_fix): Use as_warn_where, not
|
||
as_bad_where to give a warning instead of an error.
|
||
|
||
Mon Mar 13 17:03:46 1995 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* config/tc-vax.c (md_assemble): issue a warning if a constant
|
||
is used as an operand where an immediate value is not allowed.
|
||
|
||
Fri Mar 10 19:21:19 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/obj-coff.c: Redo my 10 Jan change, but get it right this
|
||
time. :-)
|
||
(fixup_segment): If linkrelax is set, just return.
|
||
(write_object_file): Don't treat h8300 and z8k specially with
|
||
regard to fixups.
|
||
* config/tc-h8300.c (md_begin): Set linkrelax.
|
||
* config/tc-z8k.c (md_begin): Ditto.
|
||
|
||
Thu Mar 9 18:01:37 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/obj-coff.c (coff_header_append): Check return value of
|
||
bfd_coff_swap_scnhdr_out.
|
||
|
||
Thu Mar 9 13:51:30 1995 Doug Evans <dje@canuck.cygnus.com>
|
||
|
||
Delete this patch, it breaks the h8300 assembler.
|
||
Tue Jan 10 13:34:14 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
* config/obj-coff.c (write_object_file): Don't treat h8300 and z8k
|
||
specially with regard to fixups.
|
||
|
||
Thu Mar 9 12:28:18 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* config/tc-ppc.c (mrelocatable): Change type to boolean.
|
||
(md_begin): Set the EF_PPC_RELOCATABLE if -mrelocatable.
|
||
|
||
Wed Mar 8 15:39:39 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-mips.c (md_begin): Check for a cpu string of r8000 or
|
||
r10000. If mips_isa is 4, set the machine number to 8000.
|
||
(append_insn): If mips_isa is at least 4, don't generate nops for
|
||
coprocessor delays. Check INSN_READ_FPR_R when setting
|
||
mips_cprmask[1].
|
||
(mips_emit_delays): If mips_isa is at least 4, don't generate nops
|
||
for coprocessor delays.
|
||
(mips_ip): Check for INSN_ISA4 instructions. Handle new argument
|
||
types 'h', 'R', 'N', and 'M'.
|
||
(md_longopts): Accept "mips4".
|
||
(md_parse_option): Handle -mips4, and -mcpu=10000 and -mcpu=8000.
|
||
(s_mipsset): Permit .set mips4.
|
||
|
||
Wed Mar 8 09:36:05 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* config/tc-ppc.c (ppc_elf_validate_fix): Allow .stab sections to
|
||
have non PC relative relocations with -mrelocatable.
|
||
|
||
Wed Mar 8 02:57:53 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/tc-m68k.c (opcode_ptr): Return pointer to const.
|
||
(md_begin): Make hash table errors fatal. Process opcode aliases
|
||
after main opcode table.
|
||
(md_apply_fix_2, case 4): Recode setting of lower_limit to avoid
|
||
gcc warning.
|
||
|
||
Tue Mar 7 16:07:10 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* doc/as.texinfo: Add documentation for SPARC V9, from Doug Evans
|
||
<dje@cygnus.com>.
|
||
|
||
Mon Mar 6 09:58:34 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c: Change all occurences of pa-89 with pa-11 to
|
||
be consistent with current naming conventions.
|
||
(md_begin): Set a default architecture and machine type.
|
||
(pa_ip): If the current instruction specifies a newer machine type
|
||
than the current machine type, then update the current machine
|
||
type.
|
||
(need_pa11_opcode): Likewise.
|
||
|
||
Sun Mar 5 19:38:09 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_ip, case 'z'): Don't lose argument
|
||
relocation bits for absolute calls.
|
||
|
||
Fri Mar 3 17:41:50 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/tc-h8300.* (md_operand): Change empty function to empty
|
||
macro.
|
||
|
||
* config/tc-h8300.c (build_bytes): Make H8/300-H warning message
|
||
clearer.
|
||
|
||
* write.c (write_contents): If bfd_set_section_contents fails,
|
||
print a message and exit, instead of aborting.
|
||
|
||
Fri Mar 3 16:26:19 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* tc.h (md_apply_fix3): If MD_APPLY_FIX3 is defined, declare
|
||
md_apply_fix3.
|
||
|
||
* write.c (fixup_segment): If MD_APPLY_FIX3 is defined, call
|
||
md_apply_fix3 with the normal 2 arguments and the current segment
|
||
pointer instead of md_apply_fix.
|
||
|
||
* config/tc-ppc.h (MD_APPLY_FIX3): Define.
|
||
|
||
* config/tc-ppc.c (ppc_elf_validate_fix): Warn if -mrelocatable
|
||
and a non PC relative relocation that isn't in the .got2 segment
|
||
was performed.
|
||
(md_apply_fix3): Rename from md_apply_fix and take segment pointer
|
||
as third argument. If ELF object format, call ppc_elf_validate_fix
|
||
for normal relocations.
|
||
(md_parse_option): If ELF object format, recognize the
|
||
-mrelocatable switch.
|
||
|
||
Thu Mar 2 16:34:44 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-i386.h (AOUT_MACHTYPE): Define as 100, not 0.
|
||
|
||
Tue Feb 28 18:29:27 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/tc-arm.c, config/tc-arm.h (md_operand): Replaced empty
|
||
function in .c file with empty macro in .h file.
|
||
* config/tc-h8500.*, config/tc-hppa.*, config/tc-i386.*,
|
||
config/tc-i860.*, config/tc-i960.*, config/tc-ns32k.*,
|
||
config/tc-ppc.*, config/tc-sh.*, config/tc-sparc.*,
|
||
config/tc-tahoe.*, config/tc-vax.*, config/tc-w65.*,
|
||
config/tc-z8k.*: Ditto.
|
||
* config/tc-m68k.*: Ditto.
|
||
|
||
* config/tc-m68k.c (mote_pseudo_table): Removed dots from opcode
|
||
names.
|
||
|
||
* read.c (s_app_line): Ignore non-positive line numbers.
|
||
|
||
Tue Feb 28 15:34:14 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust PLT or
|
||
GOT relocs either.
|
||
|
||
Mon Feb 27 13:03:41 1995 Kung Hsu <kung@mexican.cygnus.com>
|
||
|
||
* configure.in: add a29k-*-vxworks configuration.
|
||
|
||
Fri Feb 24 14:41:15 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-mips.c (load_register): Take dbl argument to determine
|
||
handling of signed 32 bit values in 64 bit modes. Change all
|
||
callers.
|
||
(macro): Handle M_DLI and M_DLA_AB.
|
||
|
||
Wed Feb 22 23:10:56 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (md_apply_fix): Don't subtract the value of the
|
||
add symbol if it's a common symbol (the value of a common symbol
|
||
is its size, not a value in the traditional sense).
|
||
|
||
Wed Feb 22 21:12:28 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-mips.c (append_insn): If listing_prev_line is called,
|
||
call frag_grow to make sure there is still room for a variant.
|
||
|
||
Fri Feb 17 14:50:08 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-mips.c (md_pseudo_table): Add 2byte, 4byte and 8byte
|
||
if OBJ_ELF. From gary@Intrepid.COM (Gary Funck).
|
||
|
||
* config/obj-elf.c (elf_frob_symbol): Warn if a symbol is both
|
||
weak and common.
|
||
* config/obj-aout.c (obj_aout_frob_symbol): Likewise.
|
||
|
||
Fri Feb 17 12:43:47 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* config/tc-ppc.c (md_pseudo_table): Don't redefine byte under
|
||
ELF.
|
||
(ppc_elf_cons): Don't support @pcrel any more, since DIFF_EXPR_OK
|
||
allows the normal expressions to generate it.
|
||
(md_apply_fix): Convert BFD_RELOC_32 with pcrel bit set into
|
||
BFD_RELOC_32_PCREL. Abort if either BFD_RELOC_16 or BFD_RELOC_8
|
||
need PC relative relocations.
|
||
|
||
* config/tc-ppc.h (DIFF_EXPR_OK): Define to allow PC relative
|
||
expressions to be handled.
|
||
|
||
Thu Feb 16 14:30:13 1995 Doug Evans <dje@cygnus.com>
|
||
|
||
* expr.c (operand): Move md_operand handling to default case
|
||
(so it works).
|
||
|
||
Wed Feb 15 16:08:47 1995 Jason Molenda <crash@cygnus.com>
|
||
|
||
* config/tc-h8500.c (tc_coff_symbol_emit_hook): Add ignored
|
||
parameter, to match prototype.
|
||
|
||
Wed Feb 15 15:07:00 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* config/tc-ppc.c (md_pseudo_table): If ELF, go to ppc_elf_cons
|
||
instead of cons.
|
||
(md_show_usage): Show all of the PowerPc options.
|
||
(ppc_elf_suffix): New function to recognize ELF suffixes that
|
||
specify a relocation, such as @GOT.
|
||
(ppc_elf_cons): Replacement for the standard cons function that
|
||
knows about the ELF suffixes.
|
||
(ppc_fixup): Add reloc field to hold non-standard relocation.
|
||
(md_assemble): Handle ELF suffixes like @GOT.
|
||
(md_create_short_jump): Dummy in case WORKING_DOT_WORD is not
|
||
defined.
|
||
(md_create_long_jump): Ditto.
|
||
(md_short_jump_size): Ditto.
|
||
(md_long_jump_size): Ditto.
|
||
(md_apply_fix): Handle BFD_RELOC_32_PCREL, BFD_RELOC_LO16,
|
||
BFD_RELOC_HI16, BFD_RELOC_HI16_S, BFD_RELOC_PPC_TOC16, and
|
||
BFD_RELOC_16 relocations. If relocation can not be found, print
|
||
the decimal value of the relocation.
|
||
|
||
Wed Feb 15 11:46:02 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-mips.c (md_apply_fix): Accept BFD_RELOC_16, for
|
||
DWARF. From gary@Intrepid.COM (Gary Funck).
|
||
|
||
* config/tc-mips.c (macro): Handle M_U{L,S}D[_A] (unaligned double
|
||
loads and stores).
|
||
|
||
* config/tc-i386.c (tc_i386_fix_adjustable): Do adjust global
|
||
symbols if OBJ_AOUT.
|
||
|
||
* config/tc-mips.c (macro): Don't use the target register as a
|
||
base register when building the address for M_L{W,D}{L,R}_AB.
|
||
|
||
Mon Feb 13 14:44:32 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-mips.c (KT0, KT1): Define.
|
||
(mips_ip): Recognize $kt0 and $kt1 as register names.
|
||
|
||
* config/tc-sparc.h (tc_fix_adjustable): Define if OBJ_ELF.
|
||
* config/tc-sparc.c (md_apply_fix): If OBJ_ELF, subtract out the
|
||
value of a defined symbol; the value was added in by
|
||
fixup_segment. This was previously corrected, if the reloc was
|
||
changed to be against a section symbol, in tc_gen_reloc.
|
||
|
||
Fri Feb 10 14:04:04 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-i386.c (tc_i386_fix_adjustable): Use S_IS_EXTERN
|
||
rather than !S_IS_LOCAL.
|
||
|
||
Thu Feb 9 18:16:34 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-i386.c (md_assemble): Adjust conditions for changing
|
||
BFD_RELOC_32 to BFD_RELOC_386_GOTPC to handle a switch in frags.
|
||
Patch originally from Rob Ryan <robr@cmu.edu>.
|
||
|
||
* config/tc-i386.c: Include subsegs.h.
|
||
(tc_i386_fix_adjustable): Declare return value.
|
||
(i386_operand): Don't use an assignment directly as a condition.
|
||
|
||
Thu Feb 9 10:37:13 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (md_apply_fix): In some cases subtract the
|
||
value of the add symbol from valp. Offsets braindamage in the
|
||
"machine independent" fixup_segment.
|
||
|
||
Wed Feb 8 18:51:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* messages.c (as_abort): New function.
|
||
* as.h (as_abort): Declare it.
|
||
(abort): New macro.
|
||
|
||
Thu Jan 19 18:10:05 1995 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* config/vms-conf.h (HAVE_UNISTD_H): define it unconditionally.
|
||
* config-gas.com: test for availability of <unistd.h>; create a
|
||
rudimentary one if necessary.
|
||
|
||
Tue Feb 7 13:34:46 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* configure.in: Add powerpc-*-eabi support, which is the same as
|
||
powerpc-*-elf.
|
||
(configure): Rebuild with autoconf.
|
||
|
||
Mon Feb 6 03:37:00 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
Changes from Bryan Ford <baford@schirf.cs.utah.edu> for i386
|
||
16-bit and msdos support:
|
||
* config/tc-i386.c (flag_16bit_code): New variable.
|
||
(set_16bit_code_flag): New function.
|
||
(md_pseudo_table): Added entries "code16" and "code32".
|
||
(md_assemble): Ensure that correct data-size prefixes get emitted,
|
||
based on the current mode. Ensure that 32-bit addressing will
|
||
always be done. Move segment-prefix handling code. (Why?) Use
|
||
16-bit jumps for 16-bit code, 32-bit jumps for 32-bit code.
|
||
* config/tc-i386.h (MAX_PREFIXES): Bump to 5.
|
||
(Data16, Data32): Define.
|
||
* doc/as.texinfo (i386-16bit): New node.
|
||
* configure.in (i386-*-msdos*): New target, using a.out format.
|
||
* configure: Regenerated.
|
||
|
||
Thu Feb 2 15:21:24 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/tc-m68k.c (cpu32_control_regs): New macro.
|
||
(m68k_init_after_args): Use it, for cpu32 processors.
|
||
|
||
Tue Jan 31 17:20:45 1995 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* config/obj-vms.c (vms_tir_stack_psect): new routine;
|
||
(VMS_Set_Data, VMS_Set_Psect, VMS_Store_PIC_Symbol_Reference,
|
||
VMS_TBT_Routine_Begin, VMS_TBT_Line_PC_Correlation): use it;
|
||
(VMS_Global_Symbol_Spec, VMS_Procedure_Entry_Pt): treat
|
||
Psect_Number as `unsigned'.
|
||
|
||
Thu Jan 26 17:06:28 1995 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* config/obj-vms.c: performance tuning.
|
||
(VMS_Symbol_type_list): convert from single list head to small
|
||
array of list heads;
|
||
(SYMTYP_HASH): new macro for accessing VMS_Symbol_type_list[];
|
||
(find_symbol, setup_basic_type, VMS_typedef_parse): use it;
|
||
(VMS_RSYM_Parse): move S_GET_VALUE() inside switch to avoid
|
||
calling it for uninteresting cases.
|
||
|
||
Wed Feb 1 23:52:45 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (md_apply_fix): Go ahead and call
|
||
hppa_field_adjust to get a new value for R_DATA_ONE_SYMBOL
|
||
relocations in SOM.
|
||
(hppa_fix_adjustable): Refine somewhat.
|
||
|
||
Fri Jan 27 21:29:53 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||
|
||
* config/tc-ppc.h (NO_STRING_ESCAPES): Don't define if we are
|
||
using ELF.
|
||
|
||
Thu Jan 26 19:03:42 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/tc-h8300.c (get_specific): Add parens around | inside &.
|
||
(skip_colonthing): Set L_8 if ":8" is specified.
|
||
|
||
Thu Jan 26 18:38:01 1995 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-ppc.c (md_begin): Permit mfdec to be duplicated on the
|
||
601. Check that the error return from hash_insert is "exists".
|
||
|
||
Thu Jan 26 11:35:33 1995 Michael Meissner <meissner@cygnus.com>
|
||
|
||
* configure: Add support for configuring powerpc-*-eabi.
|
||
|
||
* config/tc-ppc.c (GOT_symbol): Define if object format is ELF.
|
||
|
||
* config/tc-ppc.h (GLOBAL_OFFSET_TABLE_NAME): Define if object
|
||
format is ELF and not defined to be "_GLOBAL_OFFSET_TABLE_".
|
||
|
||
Wed Jan 25 16:23:13 1995 Jim Wilson <wilson@chestnut.cygnus.com>
|
||
|
||
* config/tc-sh.c (little): Add argument IGNORE to avoid
|
||
compiler warnings.
|
||
(md_pseudo_table): Add space for consistent formatting.
|
||
(COND8_RANGE, COND12_RANGE): Delete unused macros.
|
||
(COND8_F, COND8_M, COND12_F, COND12_M, UNCOND12_F, UNCOND12_M):
|
||
Correct minimum and maximum branch offsets. Add comments explaining
|
||
why these numbers are correct.
|
||
|
||
Wed Jan 25 15:32:09 1995 David Edelsohn <edelsohn@mhpcc.edu>
|
||
|
||
* config/tc-ppc.c (md_parse_option): Accept mpwr2 as a synonym for
|
||
mpwrx; mppc32, m603, and m604 as synonyms for mppc; and mppc64 and
|
||
m620 for PowerPC64 mode.
|
||
(ppc_symbol_new_hook): Add T0 as synonym for TC0 suffix.
|
||
|
||
Tue Jan 24 16:44:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/tc-vax.c (vip): Introduce new ptr-to-const local variable
|
||
for scanning operand string.
|
||
|
||
Sat Jan 21 17:50:38 1995 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* config/vax-inst.h (struct vop, fields `vop_warn', `vop_error'):
|
||
make them pointers to const char;
|
||
(struct vit, field `vit_error'): ditto.
|
||
* config/atof-vax.c (md_atof): rename local `littlenum_pointer'
|
||
to `littlenumP' to avoid shadowing file scope variable.
|
||
* config/tc-vax.c (vip_begin, vip_op_defaults, vip_op_1): make
|
||
string arguments be pointers to const char;
|
||
(vip): make `alloperr' const char *;
|
||
(vip_op): make `err' and `wrn' const char *; rename `access' to
|
||
`access_mode' to avoid shadowing library function.
|
||
* config/obj-vms.c (`symbol_name'): make it const char *;
|
||
(get_struct_name): cast one use of `symbol_name' to char *
|
||
[caller guarantees that it won't modify the pointer's target];
|
||
(PUT_COUNTED_STRING): use pointer to const char;
|
||
(VMS_typedef_parse): make `pnt2' const char *;
|
||
(Write_VMS_MHD_Records): make `cp' const char *;
|
||
(VMS_Modify_Psect_Attributes, array `Attributes'): make const,
|
||
and make field `Name' pointer to const char;
|
||
|
||
* as.h (`seg_name[]' declaration): pointers to const char;
|
||
(struct _pseudo_type, field `poc_name'): pointer to const char.
|
||
* subsegs.c (`seg_name[]' definition): ditto;
|
||
* hash.c (hash_ask): rename argument `access' to `access_type'
|
||
to avoid shadowing library function.
|
||
* write.c (variable `the_object_file'): move from file scope
|
||
to block scope within write_object_file(); free it after use;
|
||
(fixup_segment): conditionally exclude it for OBJ_VMS.
|
||
(cvt_frag_to_fill): rename argument `headers' to `headersP'
|
||
to avoid shadowing file scope variable.
|
||
|
||
Mon Jan 23 21:42:39 1995 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_ip, case 'D'): Fix typo which caused
|
||
miscompilation of "diag" instructions.
|
||
|
||
Mon Jan 23 15:51:41 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* configure: Regenerated.
|
||
|
||
* config/tc-mips.c: Include libiberty.h.
|
||
|
||
Mon Jan 23 14:07:58 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||
|
||
* config/tc-sh.h (tc_init_after_args): Don't define.
|
||
* config/tc-sh.c (md_begin): Remove unused variable table.
|
||
(md_assemble): Remove unused variable p.
|
||
(md_convert_frag): Cast fr_address to unsigned long for printf.
|
||
(md_apply_fix): Use as_warn_where rather than as_warn.
|
||
(sh_init_after_args): Remove empty function.
|
||
|
||
* configure.in (i386-*-gnu*elf*): New target.
|
||
|
||
Sat Jan 21 19:02:23 1995 Ian Lance Taylor <ian@tweedledumb.cygnus.com>
|
||
|
||
* hash.c (hash_ask): If we find the slot after wrapping around,
|
||
break out of the loop. Fixes bug in Jan 18 change.
|
||
|
||
Fri Jan 20 17:07:31 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* hash.c (hash_code): Undo last change.
|
||
|
||
Thu Jan 19 14:49:47 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/tc-alpha.c (alpha_ip): Initialize local variables to keep
|
||
gcc quiet.
|
||
(gpdisp_hi16_howto): Don't use "const" with reloc_howto_type.
|
||
(in_range_signed): Add parens around subtraction inside shift.
|
||
* gasp.c (do_data): Initialize local variable "opname".
|
||
(istrue): Provide a default case to set "res" and keep "gcc -Wall"
|
||
quiet.
|
||
* write.c (write_contents): Deleted unused variable.
|
||
(print_symbol_value_1): Declare.
|
||
* hash.c (hash_ask): Delete disabled non-strcmp version of the
|
||
code, and automatic variables used only in those sections.
|
||
* write.c (chain_frchains_together_1): Only define local variable
|
||
"prev_fix" if BFD_ASSEMBLER.
|
||
* flonum-konst.c (dummy1): Return void.
|
||
* config/tc-vax.c (md_assemble): Remove two comparisons of
|
||
unsigned numbers versus zero.
|
||
* as.h (bcopy): If neither memcpy nor bcopy is defined as a macro,
|
||
define to use memcpy.
|
||
|
||
* config/tc-alpha.c, config/alpha-opcode.h: Revert 2 June changes.
|
||
Turns out we never got the assignment done after all.
|
||
|
||
Cleanup of VAX and VMS code, from Pat Rankin:
|
||
* config/obj-vms.c: Changed exported function names to lower case.
|
||
(Changed call sites in write.c.) Declare VMS system function
|
||
names used, conditional on actually being on VMS. Changed many
|
||
functions that returned no useful value to now be declared to
|
||
return void. Removed many unused variables. Supply missing
|
||
return statements or values. Supply `default' case in switch
|
||
statements. Ensure local variables get initialized.
|
||
* config/tc-vax.c: Minor changes to silence "gcc -Wall".
|
||
* config/obj-vms.h, config/tc-vax.h: Added some missing
|
||
declarations.
|
||
|
||
Wed Jan 18 13:49:26 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* atof-generic.c (flonum_print) [TRACE]: New function.
|
||
(atof_generic) [TRACE]: Print multiplier before multiplication,
|
||
and print multiplication result before and after copy.
|
||
|
||
* flonum-mult.c (flonum_multip): Avoid sign extension problems
|
||
around multiplication operation.
|
||
|
||
* atof-generic.c (ASSUME_DECIMAL_MARK_IS_DOT): Define.
|
||
(atof_generic) [ASSUME_DECIMAL_MARK_IS_DOT]: Check for '.'
|
||
explicitly instead of calling strchr.
|
||
|
||
* config/tc-sparc.c (sparc_ip): When scanning successive opcode
|
||
table entries, check names for pointer equality before doing
|
||
string comparisons.
|
||
|
||
* hash.c (hash_ask): Call strcmp instead of expanding it inline.
|
||
(hash_code): Replaced with a version from bfd.
|
||
|
||
* config/obj-coff.c (write_object_file): If COFF_FLAGS isn't
|
||
defined, default it to zero.
|
||
|
||
Wed Jan 18 12:16:07 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||
|
||
* write.c (fix_new_internal): Clear fx_bsr on those targets which
|
||
use it.
|
||
|
||
* expr.c (operand): Parenthesize && within ||.
|
||
* listing.c (listing_newline): Likewise.
|
||
(list_symbol_table): Use %lu to print sizeof.
|
||
* symbols.c: Comment out unused function indent.
|
||
(print_symbol_value_1): Cast pointer to unsigned long for printf.
|
||
* config/obj-coff.c (do_relocs_for): Only declare symbol_ptr if it
|
||
will be used.
|
||
* config/tc-h8300.c (md_begin): Remove unused variable reg.
|
||
(get_operand): Declare type of parameter direction. Remove unused
|
||
variable size.
|
||
(get_specific): Fix comment to avoid nested comments.
|
||
(check_operand): Cast X_add_number to unsigned long for printf.
|
||
(build_bytes): Remove unused local variables output_ptr, part, and
|
||
high.
|
||
(build_bytes): Cast X_add_number to unsigned long for printf.
|
||
(clever_message): Remove unused variable scan.
|
||
(md_assemble): Remove unused variable i.
|
||
(tc_coff_sizemachdep): Remove unused function.
|
||
* config/tc-h8300.h (tc_reloc_mangle): Declare.
|
||
|
||
Tue Jan 17 10:58:06 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||
|
||
* config/tc-mips.c (mips_4650): New static variable.
|
||
(md_begin): Handle a cpu string of "4650". If mips_4650 was not
|
||
initialized, set it to 0.
|
||
(append_insn): Don't insert nops around HI and LO on a 4650.
|
||
(mips_emit_delays): Likewise.
|
||
(mips_ip): Use INSN_ISA mask to check ISA of instruction. Check
|
||
for INSN_4650.
|
||
(md_longopts): Add m4650 and no-m4650.
|
||
(md_parse_option): Handle mips-cpu=4650. Handle -m4650 and
|
||
-no-m4650.
|
||
* doc/as.texinfo: Document new MIPS options.
|
||
|
||
Sat Jan 14 23:48:13 1995 Steve Chamberlain <sac@jonny>
|
||
|
||
* config/tc-w65.c, config/tc-w65.h, config/w65.mt: Newfiles.
|
||
* config/obj-coff.h: Cope with w65.
|
||
* configure, configure.in: Recognize w65.
|
||
|
||
Thu Jan 12 17:56:24 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* app.c (do_scrub_next_char) [__GNUC__ && __OPTIMIZE__]: If `get'
|
||
function is scrub_from_file, call scrub_from_file directly, and
|
||
get gcc's inlining capability into the act.
|
||
|
||
* Makefile.in (VMS_OTHER_OBJS): Add ../libiberty/hex.o.
|
||
(OBJS): Delete hex-value.o.
|
||
(REAL_SOURCES): Delete hex-value.c.
|
||
(hex-value.o): Delete dependencies.
|
||
* hex-value.c: Deleted.
|
||
* as.c (main): Call hex_init.
|
||
* expr.c, config/tc-mips.c: Include libiberty.h. Replace
|
||
hex_value array references with hex_* macros.
|
||
|
||
Wed Jan 11 17:51:38 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/tc-h8300.h (COFF_FLAGS): Don't define.
|
||
* config/tc-h8500.h (COFF_FLAGS), config/tc-sh.h (COFF_FLAGS),
|
||
config/tc-z8k.h (COFF_FLAGS): Ditto.
|
||
|
||
* config/obj-coff.c (KEEP_RELOC_INFO): Make sure it's always
|
||
defined.
|
||
|
||
* config/tc-m68k.c (m68k_ip, cases AOFF and AINDEX): Don't
|
||
generate 68020 addressing modes for a 68000 processor.
|
||
(md_estimate_size_before_relax, cases PCREL and PCLEA): Ditto.
|
||
|
||
Tue Jan 10 13:34:14 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/obj-coff.c (write_object_file): Don't treat h8300 and z8k
|
||
specially with regard to fixups.
|
||
|
||
Mon Jan 9 16:22:28 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/tc-mips.c (RELAX_RELOC1, RELAX_RELOC2): Cast values to
|
||
bfd_vma before subtracting.
|
||
|
||
* config/obj-coff.c (size_section): Handle rs_space like rs_fill,
|
||
but make sure fr_symbol is null.
|
||
(fill_section): Ditto.
|
||
|
||
Sun Jan 8 16:14:19 1995 Ian Lance Taylor <ian@tweedledumb.cygnus.com>
|
||
|
||
* config/tc-mips.c (mips_ip): Fix handling of floating point
|
||
values when GPOPT is not defined.
|
||
|
||
Fri Jan 6 16:59:41 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* gasp.c: Include string.h. Put config.h before other includes.
|
||
|
||
* config/tc-alpha.c (alpha_ip): Delay calls to emit_add64 until
|
||
after any remaining operands are also known to match.
|
||
|
||
Fri Dec 30 18:21:41 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* listing.c (list_symbol_table): Build a format string based on
|
||
the size of the value to be printed, as long as "unsigned long" is
|
||
at least as wide, after handling the special case of 4-byte
|
||
values.
|
||
|
||
* Makefile.in (dependencies): Make $(OBJS) depend on as.h and
|
||
everything it includes. Delete those files from per-file
|
||
dependencies.
|
||
|
||
* as.h (relax_substateT): Now defined to be unsigned int.
|
||
(relax_stateT): Separate typedef from enum definition.
|
||
(enum _relax_state): Reordered for better punctuation. Added new
|
||
values rs_align_code and rs_space.
|
||
(lineno, struct lineno_struct): Unused, deleted.
|
||
|
||
* as.h: No longer include assert.h.
|
||
(as_assert): Declare.
|
||
(assert): New definition, calls as_assert longer needed.
|
||
(__PRETTY_FUNCTION__): Provide default for older versions of gcc.
|
||
* messages.c (as_assert): New function.
|
||
* gdbinit.in: Put a breakpoint there.
|
||
|
||
* read.c (s_space): Rewrite to handle general expressions.
|
||
Generate rs_space frags for non-constant values.
|
||
* write.c (cvt_frag_to_fill): Treat rs_align_code and rs_space
|
||
like rs_align and rs_org. Verify that fr_offset is non-negative,
|
||
and force frag type to rs_fill only after assertion checks.
|
||
(relax_segment): Treat rs_align_code like rs_align. Treat
|
||
rs_space like rs_org in the first switch; in the second, force the
|
||
operand to a constant, and use it for the growth size.
|
||
|
||
Wed Dec 28 20:57:37 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_subspace): For sections with the ZERO
|
||
attribute, set the "bss" field in the appropriate seginfo structure.
|
||
|
||
Wed Dec 28 15:01:01 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* subsegs.h: Include obstack.h.
|
||
|
||
Tue Dec 27 18:16:04 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* as.h (struct frag): Enable align* components now.
|
||
|
||
Tue Dec 20 14:56:31 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* frags.c (frag_init): Call obstack_begin on `frags'.
|
||
* subsegs.c (subsegs_begin): Don't do it here.
|
||
* as.c (main): Call frag_init before subsegs_begin.
|
||
|
||
* frags.c (frag_append_1_char): New function.
|
||
* frags.h (frag_append_1_char): Declare it.
|
||
(FRAG_APPEND_1_CHAR): Call it. Old definition is commented out
|
||
for now.
|
||
|
||
* as.h (struct frag): Added (but commented out) new fields for
|
||
tracking current alignment.
|
||
(frag_now_fix): Changed macro to function declaration.
|
||
* frags.c (frag_now_fix): Define function here.
|
||
(frag_new): Use it instead of accessing `frags' directly.
|
||
* frags.h (frags): Change comment to indicate it shouldn't be
|
||
accessed directly.
|
||
* subsegs.h (struct frchain): New field frch_obstack, intended to
|
||
eventually replace global `frags' obstack.
|
||
* subsegs.c (subseg_set_rest): Use frag_now_fix instead of
|
||
accessing `frags' directly. Initialize fields of new frchainS
|
||
explicitly instead of with memset.
|
||
* config/obj-coff.c (obj_coff_ln) [!BFD_ASSEMBLER]: Use
|
||
frag_now_fix.
|
||
* config/tc-mips.c (s_loc), config/obj-vms.c
|
||
(vms_resolve_symbol_redef), symbols.c (colon): Likewise.
|
||
|
||
* config/tc-m68k.c (md_apply_fix_2): Use offsetT and addressT
|
||
instead of long and unsigned long.
|
||
(md_apply_fix): Cast value before passing it.
|
||
|
||
* config/obj-aout.h, config/obj-coff.c, config/obj-elf.h,
|
||
config/obj-som.h, config/tc-h8500.c, config/tc-hppa.c,
|
||
config/tc-hppa.h, config/tc-sh.c, config/tc-z8k.c: Don't rely on
|
||
use of ".." when including header files.
|
||
|
||
* config/obj-coff.c (fixup_segment): Reformat condition in an `if'
|
||
statement.
|
||
|
||
* Makefile.in (SUBDIR_INCLUDES): Deleted.
|
||
|
||
Tue Dec 20 13:40:36 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||
|
||
* config/obj-coff.h: Include bfd/libcoff.h, not libcoff.h.
|
||
|
||
Mon Dec 19 16:53:36 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||
|
||
* config/tc-mips.c (load_register): Rewrite to handle O_big 64 bit
|
||
constants.
|
||
(mips_ip): Accept O_big constants in case 'I'. Change case
|
||
'i'/'j' to treat an O_big constant as an out of range value.
|
||
|
||
Mon Dec 19 14:15:07 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_subspace): Make sure SEC_HAS_CONTENTS is
|
||
clear for a section with the "ZERO" attribute.
|
||
|
||
* Reduce useless symbols for ELF in an attempt to make smaller
|
||
objects and speed up the linker.
|
||
* config/tc-hppa.c (struct call_info): Replace end_symbol field
|
||
with a size field.
|
||
(hppa_elf_mark_end_function): Delete unneeded function.
|
||
(pa_build_unwind_subspace): For the 2nd unwind relocation, use
|
||
the function symbol + function size instead of a special symbol
|
||
for the end of the function.
|
||
(process_exit): Compute the function size here. Don't call
|
||
hppa_elf_mark_end_of_function anymore.
|
||
(pa_procend): Likewise.
|
||
(hppa_fix_adjustable): Only reject 32bit relocations for SOM.
|
||
(elf_hppa_final_processing): Simplify.
|
||
|
||
Mon Dec 19 13:49:07 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* configure.in: Recognize mips-sony-bsd and mips-dec-bsd, but
|
||
reject other vendors until we can be sure we're consistent with
|
||
bfd.
|
||
|
||
* config/obj-vms.c (Create_VMS_Object_File): Instead of formatting
|
||
a buffer to pass to `error', just call `as_fatal' directly.
|
||
(VMS_Psect_Spec): Ditto.
|
||
(VMS_TBT_Module_Begin, VMS_TBT_Source_File, gen1,
|
||
VMS_typedef_parse, VMS_LSYM_Parse, VMS_Emit_Globalvalues): Call
|
||
as_tsktsk instead of printf.
|
||
(VMS_TBT_Module_Begin, VMS_TBT_Line_PC_Correlation,
|
||
VMS_TBT_Source_File, VMS_TBT_Source_Lines,
|
||
VMS_Store_Repeated_Data, VMS_Check_For_Main): Use explicit
|
||
integers rather than sizeof expressions using basic integer types,
|
||
in case host and target aren't the same. Use memcpy or COPY_*
|
||
macros instead of possibly unaligned word or longword assignment.
|
||
|
||
* config/obj-vms.h (OBJ_SYMFIELD_TYPE): New macro.
|
||
* config/obj-vms.c (VMS_Store_PIC_Symbol_Reference,
|
||
VMS_Check_For_Main, VMS_write_object_file): Use sy_obj instead of
|
||
forcing sy_number to hold a pointer.
|
||
|
||
Fri Dec 16 14:40:16 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/tc-sh.c (md_begin): Don't fill in md_relax_table here.
|
||
(md_relax_table): Use static initialization.
|
||
|
||
* config/tc-h8300.c (parse_exp, get_operands, clever_message,
|
||
md_assemble, tc_crawl_symbol_chain, md_undefined_symbol,
|
||
tc_headers_hook, md_operand, md_number_to_chars): Don't use DEFUN.
|
||
|
||
* Makefile.in (CHECKFLAGS): Don't pass AS_FOR_TARGET,
|
||
CC_FOR_TARGET, OBJDUMP_FOR_TARGET, NM_FOR_TARGET; they're not
|
||
used.
|
||
(AS_FOR_TARGET, CC_FOR_TARGET, OBJDUMP, OBJDUMP_FOR_TARGET, NM,
|
||
NM_FOR_TARGET): Don't define.
|
||
(VMS_OTHER_OBJS): Add xmalloc.o and xexit.o from libiberty.
|
||
(tooldir): Use exec_prefix, not libdir.
|
||
|
||
Fri Dec 16 11:07:10 1994 Stan Shebs <shebs@andros.cygnus.com>
|
||
|
||
* config/obj-coff.h: Include libcoff.h, not ../bfd/libcoff.h.
|
||
|
||
* as.h: Include progress.h.
|
||
* as.c (main): Call START_PROGRESS and END_PROGRESS.
|
||
(main, perform_an_assembly_pass): Call PROGRESS.
|
||
|
||
Fri Dec 16 00:46:08 1994 Ian Lance Taylor <ian@tweedledumb.cygnus.com>
|
||
|
||
* write.c (adjust_reloc_syms): Use bfd_is_und_section and
|
||
bfd_is_abs_section rather than comparing against &bfd_und_section
|
||
and &bfd_abs_section.
|
||
|
||
Thu Dec 15 15:27:14 1994 Jim Wilson <wilson@chestnut.cygnus.com>
|
||
|
||
* config/tc-sh.c (md_begin): Use a local variable when
|
||
initializing md_relax_table to avoid errors about modifying a
|
||
const data structure.
|
||
|
||
Tue Dec 13 15:42:27 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||
|
||
* config/tc-ppc.c (tc_gen_reloc): Remove OBJ_ELF hack which
|
||
appears to no longer be needed.
|
||
|
||
Tue Dec 13 08:04:15 1994 Ian Lance Taylor <ian@cygnus.com>
|
||
|
||
* config/tc-mips.c (macro_build): Accept BFD_RELOC_PCREL* without
|
||
requiring that the X_op_symbol be in the text_section.
|
||
(macro): Change the test for a legal expression difference to
|
||
correspond to changes in pseudo_set in read.c.
|
||
|
||
Fri Dec 9 21:04:17 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Use
|
||
bfd_install_relocation.
|
||
|
||
* ecoff.c (ecoff_set_gp_prolog_size): If there is no current
|
||
routine, just return.
|
||
|
||
* config/tc-alpha.c (alpha_ip, case 'B', subcase 'c'): Use opcode
|
||
value from pattern instead of assuming jsr.
|
||
* config/alpha-opcode.h (jmp): Add a "1,Bc" form.
|
||
|
||
Thu Dec 8 17:48:25 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* Makefile.in (NM_FOR_TARGET): Use ../binutils/nm.new, not just
|
||
plain nm.
|
||
|
||
* configure.in (ns32k-pc532-mach*): Select correct emulation.
|
||
(mips-sony-bsd*): Use ecoff.
|
||
(mips-*-gnu*): New target, using aout format, from Roland McGrath.
|
||
* configure: Regenerated.
|
||
|
||
Tue Nov 29 13:58:10 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
Use libiberty version of xmalloc:
|
||
* Makefile.in (REAL_SOURCES): Delete xmalloc.c.
|
||
(OBJS): Delete xmalloc.o.
|
||
(xmalloc.o): Delete dependencies.
|
||
* as.c (main): Call xmalloc_set_program_name once program name is
|
||
known.
|
||
|
||
* config/tc-alpha.c (in_range_signed, in_range_unsigned): New
|
||
routines, split from in_range.
|
||
(in_range): Deleted. All calls changed to in_range_*signed.
|
||
(create_lita_section): Macro deleted. Single use expanded in
|
||
place.
|
||
(alpha_ip): Handle `t' and `8' operand types.
|
||
(md_apply_fix): Handle BFD_RELOC_12_PCREL. Print name of
|
||
unhandled relocation types.
|
||
* config/alpha-opcode.h: Added HALT and DRAINA. Disabled MOVI,
|
||
since it doesn't work, and isn't supported by the native
|
||
assembler.
|
||
|
||
* input-scrub.c: Change wording of a comment to avoid interference
|
||
with Cygnus source-control tools.
|
||
|
||
* as.h (errno) [NEED_DECLARATION_ERRNO]: Declare.
|
||
|
||
* config/tc-m68k.c (init_table): List buscr and pcr control
|
||
registers.
|
||
(m68k_ip, case 'J'): Handle them.
|
||
|
||
Delete signal handler code. It's been disabled since March 1993
|
||
without complaints.
|
||
* as.c: Don't include signal.h.
|
||
(got_sig): Unused function deleted, declaration deleted.
|
||
(SIGTY): Macro deleted.
|
||
(main): Deleted disabled code for establishing signal handler.
|
||
|
||
Mon Nov 28 11:37:35 1994 Doug Evans <dje@canuck.cygnus.com>
|
||
|
||
* app.c (do_scrub_next_char): Insert missing newline at end of file
|
||
like warning says we do.
|
||
|
||
Mon Nov 28 00:11:15 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.h (pa_check_eof): Declare new extern function.
|
||
(tc_frob_file): Define to call pa_check_eof.
|
||
|
||
* config/tc-hppa.c (pa_check_current_space_and_subspace): New
|
||
function to verify the current space and subspace are reasonable.
|
||
Call for the appropriate pseudo-ops and before instruction parsing.
|
||
(pa_check_eof): New function to verify enter/exit and proc/procend
|
||
pairs match at EOF.
|
||
(pa_code): Simplify.
|
||
|
||
* config/obj-som.c: Delete #if 0 code.
|
||
|
||
Wed Nov 23 19:36:09 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
||
|
||
* config/obj-coff.h (TARGET_FORMAT): Select between coff-shl and
|
||
coff-sh.
|
||
* config/sh.mh (TARG_CPU_DEPENDENTS): Get it right.
|
||
* config/tc-sh.c (little): New function.
|
||
(md_parse_option): Notice new option.
|
||
(build_relax, build_Mytes, md_atof, md_convert_frag, md_apply_fix):
|
||
Cope with little endian data.
|
||
* config/tc-sh.h (COFF_MAGIC, LISTING_HEADER): Endian dependent.
|
||
|
||
Wed Nov 23 10:54:38 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (tc_gen_reloc, ELF variant): Revert last
|
||
change. The real bug was in bfd/elfcode.h and has been fixed.
|
||
|
||
Tue Nov 22 23:31:20 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (tc_gen_reloc, ELF variant): Add section->vma
|
||
to the relocation's offset.
|
||
|
||
Tue Nov 22 14:37:58 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
||
|
||
* Makefile.in (INSTALL_XFORM): Fix typo.
|
||
|
||
Tue Nov 22 10:23:25 1994 J.T. Conklin <jtc@rtl.cygnus.com>
|
||
|
||
* config/tc-alpha.c (s_alpha_set): Ignore the .set (no)move and
|
||
.set (no)volatile directives.
|
||
|
||
Tue Nov 15 21:44:13 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_subspace): Make sure to always reset
|
||
current_subspace.
|
||
(pa_text, pa_data): Likewise.
|
||
|
||
* config/tc-hppa.c (pa_align): New function. Aligns the current
|
||
offset within the current subspace along with updating the
|
||
alignment of the subspace itself.
|
||
(pa_subspace): Default alignment to one byte rathern than zero
|
||
bytes to avoid setting alignment to log2(0).
|
||
(md_pseudo_table): Use pa_alignment for .align.
|
||
|
||
Tue Nov 15 15:24:45 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* messages.c (as_fatal): Always put a space after "fatal error:"
|
||
when printing message.
|
||
|
||
Tue Nov 15 11:10:43 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.h (obj_frob_symbol): Delete.
|
||
(tc_frob_symbol): Make definition conditional on OBJ_SOM or
|
||
OBJ_ELF. For ELF subtract out symbol->section->vma for non common
|
||
symbols.
|
||
|
||
Wed Nov 9 14:53:03 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/te-delta.h: New file, derived from te-sysv32.h.
|
||
|
||
Wed Nov 9 11:52:44 1994 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/tc-ppc.c (ppc_bf): Always set coff_line_base.
|
||
|
||
Mon Nov 7 01:58:49 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* Makefile.in (VERSION): Bump to 2.5.3.
|
||
|
||
* configure.in: Compare generic cpu name against "sparc", not
|
||
"sparc*", since sparc variants should be changed to "sparc".
|
||
* configure: Regenerated with autoconf 2.1.
|
||
|
||
* config/tc-a29k.c (octal, toHex): Variables deleted.
|
||
(isoctal): Macro deleted.
|
||
(md_begin): Don't initialize them.
|
||
(machine_ip, case 'P'/'A'): For absolute operand, generate an
|
||
error message if it's out of range.
|
||
(md_apply_fix, case RELOC_JUMPTARG): Check range for PC-relative
|
||
jumps.
|
||
(md_apply_fix): Delete code inside "#if 0".
|
||
|
||
Thu Nov 3 20:20:40 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/go32.mh: Unused file deleted.
|
||
|
||
* read.c (get_absolute_expression): Indicate that the error may
|
||
merely be that the expression can't currently be reduced.
|
||
|
||
Thu Nov 3 16:09:59 1994 J.T. Conklin (jtc@rtl.cygnus.com)
|
||
|
||
* config/tc-m68k.h (TARGET_FORMAT): If TE_NetBSD define as
|
||
"a.out-m68k-netbsd".
|
||
* config/tc-sparc.h (TARGET_FORMAT): If TE_NetBSD define as
|
||
"a.out-sparc-netbsd".
|
||
|
||
* config/te-nbsd.h: New file, NetBSD target emulation
|
||
* config/te-netbsd.h: Removed.
|
||
* configure.in (i[345]86-*-netbsd*,m68*-*-netbsd*,sparc*-*-netbsd*):
|
||
Set bfd_gas. Use nbsd emulation.
|
||
|
||
Thu Nov 3 17:44:47 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
Changes from net 2.5.2 release branch:
|
||
|
||
* configure.in: Put AC_DEFINE(sparcv9) on its own line, so that
|
||
the shell variable settings associated with it are permanent. For
|
||
CPUs requiring bfd_gas=yes, select it based on CPU only, not
|
||
individual target names. Handle m68k-hp-hpux*, not just -hpux.
|
||
|
||
* config/tc-z8k.c (tc_coff_symbol_emit_hook): Add dummy argument
|
||
to match prototype in obj-coff.h.
|
||
|
||
* configure.in: Skip tests for defining WANT_FOPEN_BIN and
|
||
IBM_COMPILER_SUX.
|
||
* acconfig.h: Deleted them.
|
||
* configure, conf.in: Rebuild with autoconf 2.0.
|
||
* config/go32.cfg, config/vms-conf.h: Updated.
|
||
|
||
* config/tc-m68k.c (md_apply_fix_2, md_convert_frag_1): Always use
|
||
IBM_COMPILER_SUX version of code, with comments indicating why.
|
||
|
||
* listing.c (file_info): Use text mode when opening file for read.
|
||
Use "r" directly, no macro.
|
||
* input-file.c (input_file_open): Don't use FOPEN_RT, just use
|
||
"r".
|
||
* read.c (s_include): Ditto.
|
||
* output-file.c (output_file_create): Try both "wb" and "w", don't
|
||
bother with FOPEN_* macros.
|
||
* as.h: Don't include fopen-*.h.
|
||
|
||
* config/alpha-opcode.h: Make "ret" with no operands equivalent to
|
||
"ret zero,(ra)", to match OSF1 and to be consistent with both
|
||
one-operand forms.
|
||
|
||
Patches from DJ Delorie:
|
||
* as.h (alloca): undef alloca before defining it just in case
|
||
* config/go32.cfg: new file for autoconf values
|
||
* config/te-go32.h: new file
|
||
* configure.bat: new for autoconf
|
||
|
||
* config/tc-i386.c (md_assemble): Fix typo in GOTPC check; had =
|
||
for ==.
|
||
|
||
* configure.in: If target_frag doesn't exist, use /dev/null.
|
||
|
||
* as.c (parse_args): For non-VMS systems, re-add `v' to
|
||
std_shortopts. Add "verbose" to list of long options.
|
||
|
||
* write.c (adjust_reloc_syms): When generating an absolute section
|
||
symbol as a placeholder, don't mark it as used in a relocation
|
||
entry, here.
|
||
|
||
* Makefile.in (comparison): Compare using makefile code from gcc,
|
||
stripped down to discard subdir stuff and adapted to give a
|
||
non-zero exit status if either file differs.
|
||
|
||
Thu Nov 3 15:43:02 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||
|
||
* config/tc-mips.c (load_address): Fix RELAX_ENCODE arguments for
|
||
NO_PIC case.
|
||
|
||
Tue Nov 1 16:10:59 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||
|
||
* config/tc-mips.c (s_change_sec): If not GPOPT, don't permit
|
||
switching to the readonly data section.
|
||
|
||
* ecoff.c (ecoff_directive_type): Fix warning message.
|
||
|
||
Sun Oct 30 00:57:35 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_proc): Delete disabled code to put each
|
||
proc in its own subspace, we're not going to use it.
|
||
|
||
Tue Oct 25 14:44:33 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||
|
||
* config/tc-mips.c (macro): Ensure that mips2 case of M_LI_DD in
|
||
.rdata does not become a variant frag.
|
||
|
||
* config/tc-mips.c (mips_cpu): Initialize to -1.
|
||
(md_begin): Don't mips_cpu if it was already set.
|
||
(md_parse_option): For -mipsN, don't set mips_cpu if it was
|
||
already set. For -mcpu=, just set mips_cpu, not mips_isa.
|
||
|
||
Fri Oct 21 20:42:29 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||
|
||
* config/tc-mips.c (md_pseudo_table): If OBJ_ELF, handle .section.
|
||
(s_elf_section): New static function.
|
||
* ecoff.c (ecoff_build_symbols): Don't abort if we don't recognize
|
||
the section when setting the storage class; default to sc_Data.
|
||
|
||
Thu Oct 20 00:43:38 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (md_apply_fix): Set new_val to 8 for all
|
||
fixups to branch instructions (not just pc-relative ones) which
|
||
will generate SOM relocations.
|
||
|
||
Wed Oct 19 13:41:56 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||
|
||
* config/tc-a29k.c: Include ctype.h with angle brackets.
|
||
(define_some_regs): Add new special register names defined on the
|
||
29040.
|
||
(parse_operand): Add argument opt. If non-zero, don't warn about
|
||
a missing operand.
|
||
(machine_ip): If handling argument type 'I', pass opt as non-zero
|
||
to parse_operand. Handle new optional operand type 'I'.
|
||
(md_undefined_symbol): Handle special register names (srNN).
|
||
|
||
Tue Oct 18 00:45:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* write.c (renumber_sections): New static BFD_ASSEMBLER function.
|
||
(write_object_file): Call it after removing gas created sections.
|
||
|
||
Mon Oct 17 18:06:05 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||
|
||
* symbols.c (symbol_create): Use udata.p, not just udata.
|
||
* config/obj-elf.c (obj_ecoff_set_ext): Likewise.
|
||
(elf_get_extr): Likewise.
|
||
|
||
* read.c (read_a_source_file): The second argument to as_where is
|
||
unsigned int *, not int *.
|
||
|
||
Mon Oct 17 02:26:32 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c: Eliminate all uses of fx_addnumber.
|
||
(tc_gen_reloc): Simplify. It's no longer necessary to set a
|
||
reloc's addend field to zero for function symbols.
|
||
(md_apply_fix): Simplify. For fixups which will require a SOM
|
||
reloc, just clear out the necessary bits in the output file.
|
||
|
||
Fri Oct 14 19:06:46 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* Makefile.in (BISON): Use bison -y, not bison.
|
||
|
||
Thu Oct 13 19:22:54 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* Makefile.in (VERSION): Updated to 2.5.
|
||
(clean-here): Delete stamp-mk.com.
|
||
(distclean): Delete .gdbinit.
|
||
* Version 2.5 released.
|
||
|
||
Wed Oct 12 20:30:51 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/te-nbsd532.h: Renamed from te-netbsd532.h.
|
||
* configure.in, configure: Adjusted.
|
||
|
||
Wed Oct 12 16:33:38 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
|
||
|
||
* config/cplus-dem.c: Removed. It isn't used. Even if it was,
|
||
it's better to use the one in libiberty.
|
||
|
||
Wed Oct 12 18:48:39 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* symbols.c (resolve_symbol_value, case O_symbol): Undo last
|
||
change; it breaks the rs6000 support, and doesn't seem to be
|
||
needed.
|
||
|
||
Wed Oct 12 11:56:50 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
|
||
|
||
* config/tc-i386.h,te-netbsd532.h (TARGET_FORMAT): Changed to
|
||
a.out-<arch>-netbsd to match corresponding changes in BFD.
|
||
|
||
Wed Oct 12 11:06:11 1994 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/tc-ppc.c (ppc_fix_adjustable): Resolve symbol values
|
||
rather than explicitly adding the frag address.
|
||
* config/obj-coff.c (coff_frob_symbol): Add a zero entry to mark
|
||
the end of the line numbers; this replaces the zero entry which
|
||
used to be added by coff_add_linesym, removed Oct 7.
|
||
(coff_adjust_section_syms): Ignore sections with no seginfo.
|
||
|
||
Wed Oct 12 01:41:37 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* Makefile.in (bootstrap, bootstrap2, bootstrap3): Create a
|
||
"stage" symlink to the appropriate stage* directory, and use it
|
||
instead in the -B options.
|
||
(comparison): Revert yesterday's change.
|
||
|
||
Tue Oct 11 16:48:11 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/tc-sparc.c (tc_gen_reloc): For non-a.out relocations, if
|
||
pc-relative, use fx_offset only, ignore address of relocation.
|
||
|
||
Tue Oct 11 15:24:00 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||
|
||
* config/tc-mips.c (mips_ip): Don't use S_IS_LOCAL when checking
|
||
for an embedded PIC switch expression, since the definition of
|
||
S_IS_LOCAL was changed.
|
||
|
||
Tue Oct 11 15:05:11 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
||
|
||
* Makefile.in (comparison): When comparing as.new or gasp.new, try
|
||
running the binary through sed to avoid differences due to
|
||
"stage1" or "stage2" having been written into the binary.
|
||
|
||
Sat Oct 8 01:48:04 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
||
|
||
ELF symbol size handling, based on code from Eric Youngdale:
|
||
* config/obj-elf.h (OBJ_SYMFIELD_TYPE): New macro. Adds an
|
||
expression pointer to the symbol structure, used for `size'
|
||
expressions that couldn't be reduced to constants when initially
|
||
processed.
|
||
(elf_frob_symbol): Declare.
|
||
(obj_frob_symbol): Call elf_frob_symbol always, rather than
|
||
ecoff_frob_symbol only if ECOFF_DEBUGGING defined.
|
||
* config/obj-elf.c (obj_symbol_new_hook): Deleted unused code.
|
||
Clear sy_obj field.
|
||
(obj_elf_size): Deleted unused code. If size is non-reducible
|
||
expression, allocate some storage for the sy_obj field and copy
|
||
the expression.
|
||
(elf_frob_symbol): New function. Computes sizes, calls
|
||
ecoff_frob_symbol if appropriate.
|
||
|
||
* write.c (fixup_segment): For i386 elf and coff (for now), don't
|
||
add in value of symbol from another defined section of the file.
|
||
|
||
Fri Oct 7 17:54:02 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/tc-m88k.h (TC_KEEP_FX_OFFSET): Define.
|
||
* config/obj-coff.c (do_relocs_for): Test only TC_KEEP_FX_OFFSET,
|
||
rather than both it and TC_M88K.
|
||
(coff_adjust_section_syms): New function.
|
||
(coff_frob_section): For non-empty sections, create aux entry for
|
||
the section symbol, indicating the size.
|
||
(n_line_nos): New variable.
|
||
(add_lineno): Increment it.
|
||
(coff_add_linesym): Increment n_line_nos, don't call add_lineno.
|
||
(coff_frob_file): New function; map coff_adjust_section_syms over
|
||
sections.
|
||
(obj_coff_line): Only reset line_base for .bf symbols.
|
||
* config/obj-coff.h (coff_adjust_section_syms, coff_frob_file):
|
||
Declare.
|
||
(obj_frob_file): New macro.
|
||
|
||
* config/obj-coff.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Renamed from
|
||
obj_frob_forward_symbol, and rewritten for new parameter list.
|
||
|
||
Mon Oct 3 21:02:38 1994 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* config/obj-vms.h (S_IS_LOCAL): fix obsolete flagseen[] reference.
|
||
|
||
Wed Oct 5 11:49:26 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||
|
||
* config/obj-ecoff.c (obj_pseudo_table): Accept .esize and .etype
|
||
as synonyms for .size and .type.
|
||
|
||
Wed Oct 5 00:08:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-coff.c (coff_frob_section): Remove assert about
|
||
section alignment.
|
||
* config/tc-sparc.c (md_section_align): Use section alignment, not
|
||
xvec align_power_min field.
|
||
|
||
Fri Sep 30 19:05:20 1994 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* vmsconf.sh (make-gas.com): handle DCL verification to enable
|
||
sensible feedback to the user while gas is being built.
|
||
|
||
Fri Sep 30 16:23:31 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* Makefile.in (DISTSTUFF): New variable, listing only make-gas.com
|
||
for now.
|
||
(diststuff): New target; builds DISTSTUFF.
|
||
(realclean): Separate target, depend on clean and distclean, then
|
||
delete DISTSTUFF.
|
||
* make-gas.com: Deleted.
|
||
|
||
* config/tc-i386.c (i386_validate_fix) [BFD_ASSEMBLER]: New
|
||
function. Converts reloc for "foo-GOT" to BFD_RELOC_386_GOTOFF
|
||
reloc for "foo".
|
||
(i386_operand): Don't look up section symbol for
|
||
undefined_section.
|
||
(reloc): Always permit return of 8- and 16-bit relocation types.
|
||
Add a space after "pc-relative" in the error message.
|
||
(tc_i386_fix_adjustable) [BFD_ASSEMBLER]: Reject
|
||
BFD_RELOC_386_GOTOFF relocs.
|
||
(i386_operand): For any GOTOFF reloc, convert it to a BFD_RELOC_32
|
||
with a "foo-GOT" value.
|
||
* config/tc-i386.h (i386_validate_fix): Declare it.
|
||
(TC_VALIDATE_FIX): New macro -- call it.
|
||
(NOP_OPCODE): Cast to `char' to avoid compiler warnings.
|
||
|
||
* as.h: If __STDC__ is not defined and varargs.h is available, use
|
||
it rather than stdarg.h.
|
||
|
||
* write.h (struct fix): Added new bitfield fx_plt, for fixups
|
||
referring to PLT entries.
|
||
* write.c (fix_new_internal): Initialize fx_plt to zero.
|
||
(adjust_reloc_syms): Re-fetch `sym' after top of reduction loop.
|
||
Don't adjust fx_offset by frag address, since S_GET_VALUE now
|
||
includes the frag address.
|
||
(fixup_segment): Changed local var PCREL to type int, added PLT.
|
||
If PC-relative fixup refers to a PLT entry for a symbol in the
|
||
current section, don't reduce it.
|
||
|
||
* write.c (adjust_reloc_syms): Exit loop through a label. If
|
||
DEBUG5 is defined, print out each fixup before and after
|
||
processing.
|
||
(fixup_segment): If DEBUG5 is defined, print out each fixup before
|
||
and after processing.
|
||
(print_fixup): Added prototype. Show address on first line. Show
|
||
fx_offset and fx_subsy. [!BFD_ASSEMBLER]: Only show fx_r_type if
|
||
NEED_FX_R_TYPE is defined.
|
||
|
||
* symbols.c (print_symbol_value_1): Check S_IS_LOCAL, S_IS_EXTERN,
|
||
S_IS_DEBUG, S_IS_DEFINED also.
|
||
|
||
Thu Sep 29 18:57:06 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* Makefile.in (all): Depend on .gdbinit.
|
||
(.gdbinit): Rebuild from gdbinit.in by running config.status.
|
||
|
||
* gdbinit.in: Define new function "pf". Fix doc on "pe" and "ps".
|
||
|
||
* write.c (print_fixup): Print source location on first line.
|
||
Show fx_r_type and fx_addsy fields.
|
||
|
||
Wed Sep 28 14:56:39 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* configure.in: Set bfd_gas for all sparc targets in one place,
|
||
instead of separately for each. Correctly handle user-supplied
|
||
"--enable-bfd-gas" option.
|
||
|
||
* gdbinit.in: Move "break abort" to end, in case gdb complains.
|
||
|
||
* as.h (PRINTF_WHERE_LIKE, PRINT_LIKE) [USE_STDARG, !__GNUC__]:
|
||
Use PARAMS macro.
|
||
|
||
* symbols.c (resolve_symbol_value, case O_symbol): Don't do any
|
||
processing if add_symbol is undefined or in expr_section.
|
||
(resolve_symbol_value, case O_add): For symbol plus
|
||
constant-valued symbol, convert to O_symbol and re-reduce.
|
||
(S_GET_VALUE): If symbol needs resolving, resolve it.
|
||
(indent_level): No longer static.
|
||
(print_symbol_value_1): Don't print frag address if it matches
|
||
zero_address_frag. Don't print "resolving" if already resolved.
|
||
Print segment name. Don't call print_expr_1 on an undefined
|
||
symbol.
|
||
(print_expr_1): Fix whitespace before printing X_add_number.
|
||
|
||
* expr.c (make_expr_symbol): No longer static. Use symbol_create,
|
||
not symbol_new, for symbols holding expression values.
|
||
* expr.h (make_expr_symbol): Move declaration here.
|
||
* write.c (fix_new_exp): Handle O_add by creating an
|
||
expression-valued symbol, and calling fix_new_exp recursively.
|
||
(adjust_reloc_syms): If a fixup's symbol value is a sum of an
|
||
undefined symbol and a constant, fold the constant into the fixup,
|
||
and refer to the undefined symbol directly. Then process the
|
||
fixup again from scratch.
|
||
(write_object_file): Before calling adjust_reloc_syms, make a pass
|
||
through the symbol list trying to resolve values.
|
||
|
||
* write.c (print_fixup): New routine, for debugging.
|
||
(write_relocs): Call bfd_install_relocation. Deleted various
|
||
hacks for working around problems with bfd_perform_relocation.
|
||
|
||
* Makefile.in (VERSION): Update to 2.4.90.
|
||
|
||
Wed Sep 28 11:50:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* Makefile.in (gasp.o): Depends upon config.h.
|
||
|
||
* config/tc-mips.c: Include subsegs.h.
|
||
(md_apply_fix): If an unconditional b or bal overflows, and we are
|
||
not assembling PIC code, replace it with a j or jal.
|
||
|
||
* config/tc-mips.c (md_apply_fix): Correct branch overflow test.
|
||
Use as_bad_where and as_warn_where rather than as_bad and as_warn.
|
||
|
||
Mon Sep 26 17:15:59 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* write.c (write_relocs): Add file name and line number to
|
||
as_fatal calls. Handle bfd_reloc_overflow case specifically when
|
||
RELOC_EXPANSION_POSSIBLE.
|
||
|
||
Fri Sep 23 16:11:28 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* as.h (USE_STDARG, USE_VARARGS): Define one or neither of these
|
||
here. Use them for deciding which PRINTF*LIKE macro definitions
|
||
to use.
|
||
* messages.c: Use them, instead of NO_STDARG, NO_VARARGS.
|
||
[!USE_STDARG && !USE_VARARGS] (va_alist, va_dcl, ...): Provide
|
||
default definitions matching what we were doing before.
|
||
(as_tsktsk): Remove the non-stdarg, non-varargs version, and
|
||
always use the varargs form if not using stdarg. It's safe to
|
||
always use vfprintf, because libiberty will provide it if the
|
||
native system doesn't. Also, always make format be const.
|
||
(as_warn, as_warn_where, as_bad, as_bad_where, as_fatal): Ditto.
|
||
|
||
Fri Sep 23 14:42:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/tc-mips.c (load_register): Always use addiu when adding a
|
||
constant to $zero--no need to use daddiu.
|
||
(macro): Hack the -mips3 overflow tests to not fail when offsetT
|
||
is only 32 bits.
|
||
|
||
* symbols.h (copy_symbol_attributes): Declare.
|
||
|
||
Thu Sep 22 21:58:24 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* listing.c: Bugfixes based in part on patches from Paul
|
||
Kranenburg.
|
||
(listing_newline): Check filename as well as line number when
|
||
deciding whether to record it.
|
||
(list_symbol_table) [S_IS_REGISTER]: Check that S_IS_REGISTER is
|
||
false (if defined) as well as checking for reg_section.
|
||
(listing_listing): Iterate fetching lines while line number is too
|
||
low, and we haven't run off the end of the input file.
|
||
|
||
* config/vms-conf.h: Changed HAVE_DELETE to HAVE_REMOVE.
|
||
|
||
Thu Sep 22 13:39:10 1994 Kung Hsu (kung@x1.cygnus.com)
|
||
|
||
* ecoff.c (ecoff_generate_asm_lineno): check if
|
||
current_stabs_filename is NULL before strcmp.
|
||
* read.c (read_a_source_file): fix a bug in generate_asm_lineno
|
||
checking.
|
||
|
||
Wed Sep 21 18:17:35 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||
|
||
* config/ho-*.h: Now-unused files deleted.
|
||
|
||
* symbols.c (copy_symbol_attributes): New function. Copies BFD
|
||
symbol flags and calls OBJ_COPY_SYMBOL_ATTRIBUTES.
|
||
(resolve_symbol_value, case O_symbol): Call it, if X_add_number is
|
||
zero. Don't call obj_frob_forward_symbol.
|
||
* read.c (pseudo_set): Call copy_symbol_attributes, but only if
|
||
X_add_number is zero.
|
||
* config/obj-elf.h (obj_frob_forward_symbol): Deleted.
|
||
|
||
* config/tc-i960.c: Lots of whitespace, comment reformatting,
|
||
using GNU indent.
|
||
(strchr): Don't declare.
|
||
[BFD_ASSEMBLER]: Don't compile md_convert_frag,
|
||
md_estimate_size_before_relax, md_ri_to_chars,
|
||
md_create_short_jump, md_create_long_jump.
|
||
(brtab_emit): Use data_section, not SEG_DATA.
|
||
|
||
Mon Sep 19 17:14:44 1994 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* config/vms-conf.h: new file, manually derived from conf.in.
|
||
* config-gas.com: use it, and eliminate obsolete "host.h".
|
||
|
||
Wed Sep 21 11:11:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/tc-ppc.c (ppc_current_block): New static variable.
|
||
(ppc_stabx): Set sy_tc.within of a C_STSYM symbol to
|
||
ppc_current_block. Don't move around any stab symbol, just those
|
||
for common symbols.
|
||
(ppc_bs): Set ppc_current_block.
|
||
(ppc_es): Clear ppc_current_block.
|
||
(ppc_frob_symbol): Set the value of a C_STSYM symbol to the offset
|
||
from the csect of the enclosing block.
|
||
|
||
* config/tc-mips.c (insns_since_cache_access): Remove.
|
||
(append_insn): Remove setting of insns_since_cache_access, and
|
||
special 4600 handling; it turns out not to be required.
|
||
|
||
Tue Sep 20 16:13:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/tc-mips.c (md_shortopts): Remove E.
|
||
(md_longopts): Add EB and EL.
|
||
(md_parse_option): Handle -EB and -EL as separate options, rather
|
||
than as a single -E option with an argument.
|
||
|
||
Mon Sep 19 12:42:05 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (hppa_fix_adjustable): Reject reductions
|
||
involving global symbols too.
|
||
|
||
Mon Sep 19 12:12:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* as.h: Test NEED_DECLARATION_*, not NEED_*_DECLARATION.
|
||
|
||
* configure.in: Test for remove, not delete. Fix cross-assembler
|
||
test.
|
||
* as.h: Test HAVE_REMOVE, not HAVE_DELETE; define unlink to
|
||
remove, not delete.
|
||
|
||
* read.c (pseudo_set, case O_symbol): If
|
||
OBJ_COPY_SYMBOL_ATTRIBUTES is defined, invoke it.
|
||
[BFD_ASSEMBLER]: Copy BSF_FUNCTION setting too.
|
||
* config/obj-elf.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Define.
|
||
|
||
Wed Aug 10 19:15:30 1994 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* config/obj-vms.h (DSG_S_C_UBITU, DST_K_VFLAGS_DSC, DST_K_TS_ATOM,
|
||
many others): new macros; values obtained from "DSTRECRDS.SDL".
|
||
* config/obj-vms.h (various): use them.
|
||
(USE_BITSTRING_DESCRIPTOR): new macro, for selecting bitfield
|
||
representation (only enum bitfields can avoid being bitstrings).
|
||
(bitfield_suffix, setup_basic_type): new routines.
|
||
(VMS_typedef_parse): use them. Now recognize bitfields of all
|
||
integral types, not just type `int'. Caveat: the representation
|
||
used for bitfields still does not work for objects placed in
|
||
registers, and gcc's optimizer sometimes puts small structs there.
|
||
|
||
Tue Jun 14 17:31:44 1994 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* read.c (s_text) [#if OBJ_VMS]: clear the IN_DEFAULT_SECTION
|
||
bit from const_flag.
|
||
* config/obj-vms.h (IN_DEFAULT_SECTION): define this macro.
|
||
(tc_frob_label): define this to call vms_check_for_special_label,
|
||
and declare the latter.
|
||
* config/obj-vms.c (vax_g_doubles): declare this file-scope
|
||
variable.
|
||
(const_flag): initialize to IN_DEFAULT_SECTION instead of 0.
|
||
(vms_check_for_special_label): new routine (tc_frob_label).
|
||
(VMS_TBT_Routine_End): don't bother checking for `gcc_compiled.'
|
||
and `gcc2_compiled.' labels; they won't reach here any more.
|
||
(VMS_typedef_parse) [case 'r']: for types `double' and `complex
|
||
double', use `vax_g_doubles' flag to select type of double.
|
||
(VMS_write_object_file) [traceback setup]: don't pass symbols
|
||
with the IN_DEFAULT_SECTION attribute to the TBT_Routine_Begin
|
||
and TBT_Routine_End functions.
|
||
|
||
Mon Jun 6 20:52:20 1994 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* config/obj-vms.c (VMS_TBT_Routine_End): cache the result of
|
||
S_GET_VALUE() to avoid many repeated function calls.
|
||
(VMS_Check_For_Main) [#if HACK_DEC_C_STARTUP]: capitalize
|
||
_C$MAIN_ARGS in advance, in case -h3 (leave symbol name as-is)
|
||
gets requested. [All the HACK_DEC_C_STARTUP code appears to
|
||
be obsolete; gcc does it automatically for vms target. It's
|
||
also misnamed, because it is for the "VAX C" run-time library,
|
||
not the newer "DEC C" one which has much different startup code.]
|
||
{various}: use `S_SET_xxx(symbol,new_value)' rather than
|
||
`S_GET_xxx(symbol) = new_value'.
|
||
|
||
Mon Sep 19 12:05:03 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/obj-coff.c (c_dot_file_symbol): Use bfd_abs_section_ptr,
|
||
not &bfd_abs_section.
|
||
|
||
Thu Sep 15 18:36:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* expr.c (clean_up_expression): Use addressT, not bfd_vma.
|
||
|
||
Tue Sep 13 20:05:47 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* expr.c (expr): Don't reduce the difference of two symbols in the
|
||
same frag if the symbols are not in normal sections.
|
||
|
||
* config/obj-som.h (S_SET_OTHER, S_SET_TYPE): Delete a.out crud.
|
||
(S_SET_DESC, S_GET_OTHER, S_GET_TYPE, S_GET_DESC): Likewise.
|
||
(obj_attach_unwind_info): Do not define. Not needed anymore.
|
||
* config/tc-hppa.c: Delete whitespace at EOL.
|
||
(struct hppa_fix_struct): Delete fx_unwind field and all references.
|
||
(fix_new_hppa): Last arg is now a pointer to an int. Do not
|
||
call obj_attach_unwind_info anymore. For SOM R_ENTRY and R_EXIT
|
||
fixups, store 32bits of unwind information in the fx_addnumber
|
||
field of the fixup.
|
||
(md_assemble, pa_entry, process_exit, pa_procend): For SOM R_ENTRY
|
||
and R_EXIT fixups, pass a NULL pointer to fix_new_hppa, and a
|
||
pointer to 32 bits of unwind info.
|
||
(tc_gen_reloc): For SOM R_ENTRY and R_EXIT fixups, set the symbol
|
||
pointer to the dummy symbol; set the addend field to fx_addnumber.
|
||
(pa_comm, pa_equ, pa_type_args, pa_import): Use bfd_XXX_section_ptr
|
||
rather than &bfd_XXX_section.
|
||
|
||
Tue Sep 13 21:15:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/tc-i386.c (md_apply_fix_1): For GOTPC relocs, decrement
|
||
value by one; discard adjustments previously being made. From
|
||
Eric Youngdale.
|
||
|
||
VMS- and Vax-related changes from Pat Rankin:
|
||
* Makefile.in (VMS_OTHER_OBJS): add concat, getopt, and getopt1.
|
||
* vmsconf.sh: no longer have make-gas.com echo text about needing
|
||
to modify the gcc-vms driver when intending to use with gcc 1.x.
|
||
* as.c (parse_options): suppress 'v' from std_short_options and
|
||
eliminate VMS-specific conditional initialization;
|
||
[default case]: check for '-v' if md_parse_options doesn't recognize
|
||
an option;
|
||
[default case, #if VMS]: check for filename argument when '-v' seen;
|
||
[case 'v']: delete.
|
||
* config/tc-vax.c (md_assemble): don't rely on `this_add_number'
|
||
for O_big literal operands (double floats and long long ints);
|
||
[VMS, md_shortopts]: add second colon after 'v';
|
||
(md_parse_options) [VMS, case 'v']: check for argument, so
|
||
caller can handle `-v' w/o arg.
|
||
|
||
Tue Sep 13 16:45:08 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
||
|
||
* config/obj-coff.c (do_relocs_for): If TC_KEEP_FX_OFFSET
|
||
is defined, put the tx_offset into the r_offset.
|
||
* config/tc-sh.c (line_comment_chars): Add #
|
||
(tc_reloc_mangle): Deleted.
|
||
* config/tc-sh.h (TC_KEEP_FX_OFFSET): Define.
|
||
(TC_RELOC_MANGLE): Delete.
|
||
|
||
Tue Sep 13 16:20:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* flonum-konst.c: Change preprocessor tests of HO_VMS to just VMS.
|
||
* hex-value.c: Ditto.
|
||
* config/obj-vms.c: Ditto.
|
||
|
||
* config/tc-sparc.c (sparc_ip): Replace as_bad/exit sequence with
|
||
a call to as_fatal.
|
||
* config/tc-i860.c (i860_ip): Ditto.
|
||
* config/tc-hppa.c (pa_ip): Ditto.
|
||
* config/tc-alpha.c (alpha_ip): Ditto.
|
||
* as.c (parse_args): Ditto.
|
||
|
||
* config/tc-mips.c (mips_ip): Replace as_warn/exit sequence with a
|
||
call to as_fatal.
|
||
|
||
* write.c (write_contents): Use EXIT_FAILURE.
|
||
* output-file.c (output_file_create, output_file_close,
|
||
output_file_create, output_file_close): Ditto.
|
||
* messages.c (as_fatal): Ditto.
|
||
* config/obj-som.c (obj_som_version, obj_som_copyright): Ditto.
|
||
* config/obj-ieee.c (write_object_file): Ditto.
|
||
* config/obj-coff.c (write_object_file): Ditto.
|
||
* config/tc-vax.c (main): Use EXIT_SUCCESS.
|
||
* config/tc-m68k.c (main): Ditto.
|
||
|
||
* hash.c (main): Pass a value to exit().
|
||
|
||
* as.h (EXIT_SUCCESS, EXIT_FAILURE): Moved here.
|
||
* as.c: ...from here.
|
||
(parse_args): Use them always.
|
||
(main): Use exit rather than return.
|
||
|
||
* Makefile.in (*_FOR_TARGET, INSTALL_XFORM, install, uninstall):
|
||
Rewrite handling of program_transform_name.
|
||
|
||
* configure.in: Test for functions unlink and delete.
|
||
* as.h: If unlink isn't available but delete is, define unlink to
|
||
be delete.
|
||
|
||
Update for autoconf 1.118:
|
||
* gdbinit.in: New file, created from old .gdbinit.
|
||
* .gdbinit: Deleted.
|
||
* aclocal.m4 (GAS_GDBINIT): Deleted.
|
||
* configure.in: Don't use it. Instead, generate .gdbinit from
|
||
gdbinit.in. Don't substitute cpu_type, obj_format, emulation,
|
||
atof. Switched order of AC_LINK_FILES arguments. Use AC_PREREQ
|
||
to ensure that older versions of autoconf aren't used.
|
||
* Makefile.in: Added @configure_input@ line.
|
||
(configure): Deleted rule.
|
||
|
||
Tue Sep 13 12:08:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/obj-coff.c (fixup_segment): After handling the difference
|
||
of two symbols from the same segment, set fx_subsy to NULL, to
|
||
satisfy existing TC_COUNT_RELOC macros.
|
||
|
||
Tue Sep 13 01:47:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* aclocal.m4 (GAS_GDBINIT): New macro.
|
||
* configure.in: Use it.
|
||
* configure: Regenerated.
|
||
|
||
Mon Sep 12 20:56:38 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com)
|
||
|
||
* .gdbinit (pe, ps): Define new commands.
|
||
* symbols.c (indent_level): New static variable.
|
||
(indent, print_expr_1, print_symbol_value_1, print_symbol_value,
|
||
print_expr): New functions.
|
||
|
||
* Makefile.in (config-stamp): Add a "this file generated by make"
|
||
message to config.h.
|
||
|
||
PIC implementation for i386-linux, based on code from Eric
|
||
Youngdale and Paul Kranenburg, with some work of my own:
|
||
|
||
* write.c (fixup_segment): Test TC_RELOC_RTSYM_LOC_FIXUP on fixup
|
||
before processing same-section pcrel relocations.
|
||
(TC_RELOC_RTSYM_LOC_FIXUP): Default to 1.
|
||
|
||
* expr.c (make_expr_symbol): If operator is O_symbol and
|
||
X_add_number is zero, just return the symbol. If operator is
|
||
O_constant, resolve the symbol's value before returning.
|
||
(operand): Permit use of "[]" for grouping.
|
||
(clean_up_expression): For difference of two symbols in the same
|
||
frag, add the difference of their offsets into X_add_number.
|
||
(expr): Reduce difference of two symbols in same frag to their
|
||
difference.
|
||
|
||
* config/tc-i386.c (TC_RELOC): New macro.
|
||
(struct _i386_insn): New field disp_reloc.
|
||
(GOT_symbol): New variable.
|
||
(operand_special_chars): Added square-brackets and at-sign.
|
||
(reloc) [BFD_ASSEMBLER]: Added new argument OTHER; if it is not
|
||
NO_RELOC, just return it.
|
||
(reloc) [! BFD_ASSEMBLER]: Add third argument to dummy macro.
|
||
(BFD_RELOC_386_PLT32, _GOT32, _GOTOFF) [! BFD_ASSEMBLER]: More
|
||
dummy macros.
|
||
(tc_i386_fix_adjustable): New function. Returns zero if symbol in
|
||
fixup is not local, to prevent relocations against externals from
|
||
being dropped.
|
||
(md_assemble): Initialize disp_reloc field to NO_RELOC. Pass
|
||
disp_reloc field to reloc() function, and use TC_RELOC to generate
|
||
value to pass to fix_new_exp.
|
||
(md_assemble): Change 32-bit reloc against GOT_symbol into a GOTPC
|
||
reloc.
|
||
(i386_operand): Initialize disp_reloc field to NO_RELOC. Handle
|
||
@GOTOFF, @PLT, @GOT operands. For GOTOFF relocations with local
|
||
symbols, force generation of the section symbol.
|
||
(md_estimate_size_before_relax): If GOT_symbol exists, decide
|
||
we're generating PIC code, and convert relocations against
|
||
undefined symbols from PCREL to PLT32.
|
||
(md_apply_fix_1) [OBJ_ELF]: Fix up values for dynamic-linking
|
||
relocs.
|
||
(md_undefined_symbol): Notice GLOBAL_OFFSET_TABLE_NAME and set
|
||
and return GOT_symbol if it matches.
|
||
(F, MAP): Move macro definitions outside function.
|
||
(tc_gen_reloc): Only switch on size and pcrel if code wasn't
|
||
already supplied as PLT32. GOT32, GOTOFF, or GOTPC. Convert
|
||
BFD_RELOC_32 using GOT_symbol into GOTPC.
|
||
* config/tc-i386.h (TC_RELOC, tc_fix_adjustable,
|
||
TC_RELOC_GLOBAL_OFFSET_TABLE, TC_RELOC_RTSYM_LOC_FIXUP): New
|
||
macros.
|
||
(NEED_FX_R_TYPE): Define.
|
||
(LOCAL_LABEL): Accept ".X" prefix too.
|
||
(GLOBAL_OFFSET_TABLE_NAME): Default to "_GLOBAL_OFFSET_TABLE_".
|
||
|
||
Mon Sep 12 17:51:39 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/obj-elf.c (obj_elf_type): Rewrite to accept syntax
|
||
reportedly to be used on Irix 6.
|
||
|
||
* config/tc-mips.c (md_pseudo_table): Handle .globl and .global.
|
||
(s_mips_globl): New static function; needed for Irix 5 support.
|
||
* ecoff.c (ecoff_build_symbols): If BSF_FUNCTION is set for an
|
||
external symbol with no type, set the type to st_Proc rather than
|
||
st_Global. Don't set the index of an external st_Proc or
|
||
st_StaticProc symbol unless it is also a local symbol.
|
||
|
||
* read.c (read_a_source_file): The second argument to as_where is
|
||
unsigned int *, not int *.
|
||
|
||
Thu Sep 8 17:18:24 1994 Kung Hsu (kung@mexican.cygnus.com)
|
||
|
||
* config/obj-ecoff.h : Change names to OBJ_GENERATE_ASM_LINENO,
|
||
and generate_asm_lineno.
|
||
* config/obj-elf.h : ditto.
|
||
* read.h : ditto.
|
||
* read.c (read_a_source_file): if no file when inst is read, set
|
||
generate_asm_lineno to true.
|
||
* ecoff.h : change name to generate_asm_lineno and add function
|
||
ecoff_no_current_file.
|
||
* ecoff.c : change name to generate_asm_lineno.
|
||
* ecoff.c (ecoff_generate_asm_lineno) : new function, to generate
|
||
ecoff style line for asm file.
|
||
|
||
Thu Sep 8 19:43:49 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/obj-coff.c (size_section): Do an fprintf to stderr rather
|
||
than a printf.
|
||
(fixup_segment): Use as_bad_where rather than as_bad.
|
||
|
||
Wed Sep 7 17:21:12 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
||
|
||
* config/tc-{h8300,sh}.[ch] (tc_coff_symbol_emit): Function doing
|
||
nothing becomes macro doing nothing.
|
||
|
||
Wed Sep 7 19:10:09 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* Makefile.in (Makefile): Depend on config.status.
|
||
(config.status): Run config.status from . instead of srcdir.
|
||
|
||
* config/tc-i386.c (tc_gen_reloc): Use bfd_get_reloc_code_name to
|
||
display the name of the relocation type that couldn't be handled.
|
||
* config/tc-sparc.c (tc_gen_reloc): Likewise.
|
||
* config/tc-alpha.c (tc_gen_reloc): Likewise. Deleted abort call
|
||
after call to as_fatal.
|
||
|
||
* configure.in (i386-*-linux*): Don't set bfd_gas.
|
||
|
||
* Makefile.in (CC_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET,
|
||
install, uninstall): Don't use "brokensed" hack any more, the new
|
||
autoconf code should never let program_transform_name be empty.
|
||
|
||
Update for autoconf beta 1.112:
|
||
* aclocal.m4 (GAS_CHECK_DECL_NEEDED, GAS_WORKING_ASSERT): New
|
||
macros.
|
||
* configure.in: Use them. Use AC_ARG_PROGRAM (now provided by
|
||
autoconf) instead of my hacked-up AC_PROGRAM_TRANSFORM_NAME. Move
|
||
test for CROSS_COMPILE just before AC_FUNC_ALLOCA, and emit a
|
||
message to try to ease confusion about autoconf's
|
||
"cross-compiling" message.
|
||
* acconfig.h (NEED_DECLARATION_MALLOC, NEED_DECLARATION_FREE,
|
||
NEED_DECLARATION_ERRNO): Renamed from NEED_*_DECLARATION.
|
||
* configure, conf.in: Regenerated.
|
||
|
||
Wed Sep 7 12:49:55 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* configure.in: Check ${host} and ${target} rather than
|
||
${host_canon} and ${target_canon}.
|
||
* configure: Likewise.
|
||
|
||
Tue Sep 6 11:42:38 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/tc-mips.c (mips_cpu): New static variable.
|
||
(insns_since_cache_access): New static variable.
|
||
(md_begin): Set mips_cpu as well as mips_isa.
|
||
(append_insn): If mips_cpu is 4600, require four nop instructions
|
||
between an instruction which accesses the cache and certain CACHE
|
||
instructions. Keep track of the number of instructions seen since
|
||
an instruction which accesses the cache.
|
||
(md_parse_option): Set mips_cpu as well as mips_isa.
|
||
|
||
Mon Sep 5 07:09:00 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
||
|
||
* doc/Makefile.in (VPATH): Define using @srcdir@.
|
||
(prefix, program_transform_name, exec_prefix): Use autoconf style
|
||
@-substitutions.
|
||
|
||
Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
|
||
|
||
* config/ho-riscix.h, config/tc-arm.c, config/tc-arm.h: New files
|
||
* configure.in: Recognize the arm.
|
||
|
||
Fri Sep 2 16:05:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* ecoff.c (add_file): Don't try to generate line numbers if the
|
||
symbol table has been frozen.
|
||
|
||
Thu Sep 1 19:48:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* aclocal.m4 (AC_PROG_CC): Use AC_DEFUN, and omit AC_PROVIDE.
|
||
|
||
* configure.in: Handle user-specified bfd-assembler option with
|
||
separate variable from preferred configuration, until the two are
|
||
resolved. Indicate bfd_gas=preferred for linux a.out. Use
|
||
AC_PROGRAM_TRANSFORM_NAME, for which a patch has been sent to djm.
|
||
* Makefile.in (target_alias, program_transform_name): Define,
|
||
using autoconf @-substitutions.
|
||
|
||
Wed Aug 31 17:43:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* atof-generic.c: Deleted alloca handling here.
|
||
|
||
* Makefile.in (prefix, exec_prefix): Use @-subtitutions.
|
||
|
||
* aclocal.m4 (AC_OUTPUT_LINKS): Deleted redefinition, since
|
||
autoconf 1.109 has this fixed.
|
||
* configure.in: Don't change quote characters around AC_MSG_ERROR
|
||
invocation. Don't use AC_HEADER_STDC, since it requires running a
|
||
program. Cache NEED_*_DECLARATION values.
|
||
* configure, conf.in: Regenerated with a modified autoconf 1.109.
|
||
|
||
* as.h (volatile): Don't test or define here; not needed.
|
||
(alloca): Replace alloca-conf.h inclusion with code recommended in
|
||
autoconf documentation. Include config.h first.
|
||
|
||
Wed Aug 31 11:20:48 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/obj-coff.h (S_IS_DEFINED): Absolute symbols are defined
|
||
also.
|
||
|
||
* configure.in, configure: Initialize bfd_gas to no.
|
||
|
||
Tue Aug 30 19:31:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* as.h: Include alloca-conf.h from "libiberty", not
|
||
"../libiberty".
|
||
|
||
Mon Aug 29 16:11:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/tc-ppc.c (md_apply_fix): Don't generate a reloc when a
|
||
symbol is used as an offset into a CSECT that is not a TOC. These
|
||
types of loads are generated by gcc -mminimal-toc.
|
||
|
||
Sun Aug 28 13:22:52 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
|
||
|
||
* as.h (flag_*): Added comments describing meanings of some of
|
||
these variables.
|
||
(struct frag): Add some comments about the ns32k-specific fields
|
||
and why they're here.
|
||
(SIZEOF_STRUCT_FRAG): Cast addresses to char*, not int.
|
||
(flag_print_statistics): Declare.
|
||
|
||
* as.c (parse_args): Set flag_print_statistics instead of
|
||
statistics_flag. Options array is now const. Added new option
|
||
"dump-config"; if specified, print TARGET_ALIAS, TARGET_CANONICAL,
|
||
TARGET_CPU, TARGET_OBJ_FORMAT, and TARGET_FORMAT, if defined.
|
||
(main): Change test to check flag_print_statistics.
|
||
(statistics_flag): Deleted.
|
||
|
||
* frags.c (frag_variant): Removed PCREL_ADJUST and BSR arguments.
|
||
Always initialize them to zero.
|
||
* frags.h (frag_variant): Fixed prototype.
|
||
* config/tc-i960.c (get_cdisp): Don't pass the extra zero args.
|
||
* config/tc-ns32k.c (convert_iif): Don't pass the arguments; cache
|
||
the value of frag_now and fill in the fields later.
|
||
|
||
* Makefile.in (distclean, realclean): Remove new
|
||
configure-generated files.
|
||
|
||
Sat Aug 27 20:26:12 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com)
|
||
|
||
Conversion to autoconf:
|
||
* acconfig.h, aclocal.m4: New files.
|
||
* configure.in: Rewritten (except for some target-specific code)
|
||
for autoconf.
|
||
* conf.in, configure: New files, generated from the above.
|
||
* Makefile.in: Changed magic sequence indicating insertion of
|
||
makefile fragments.
|
||
(VPATH, srcdir, CC, LIBS, OBJS dependencies): Use @-substitutions
|
||
from configure.
|
||
(LINKED_HEADERS): Deleted a.out.gnu.h, a.out.h, and host.h.
|
||
(config.status, configure): Rewrite rules.
|
||
(config-stamp): Depend on conf. Skip variables that configure is
|
||
now substituting itself.
|
||
(*.o dependencies): Deleted host.h.
|
||
(distclean, realclean): Don't delete host.h.
|
||
* as.c: Don't include stdio.h, string.h, sys/types.h. Include
|
||
signal.h after as.h.
|
||
* as.h: Include alloca-conf.h first. Include ctype.h, string.h,
|
||
strings.h, stdlib.h, unistd.h, sys/types.h, fopen-bin.h,
|
||
fopen-same.h, as suggested by autoconf test results.
|
||
[BROKEN_ASSERT]: Don't include assert.h.
|
||
(strdup): Declare.
|
||
(volatile, const): Define if not __STDC__ and not already defined.
|
||
(malloc, realloc) [NEED_MALLOC_DECLARATION]: Declare.
|
||
(free) [NEED_FREE_DECLARATION]: Declare.
|
||
* gasp.c: Include config.h, stdlib.h (if HAVE_STDLIB_H). Don't
|
||
include host.h.
|
||
(malloc) [NEED_MALLOC_DECLARATION]: Declare.
|
||
* messages.c: Include as.h first. Include errno.h only if
|
||
HAVE_ERRNO_H. If HAVE_VARARGS_H and not __STDC__, undefine
|
||
HAVE_STDARG_H. Set NO_STDARG and NO_VARARGS as appropriate.
|
||
* doc/Makefile.in (srcdir, INSTALL, INSTALL_PROGRAM,
|
||
INSTALL_DATA): Use autoconf @-substitutions.
|
||
|
||
* input-file.c: Don't include assert.h here, 'cause as.h already
|
||
includes it.
|
||
|
||
* config/tc-alpha.c: Added various prototypes for static
|
||
functions.
|
||
(in_range): New function, tests whether a value can fit in an
|
||
N-bit field.
|
||
(build_mem, build_operate_n): New functions for constructing
|
||
opcode values.
|
||
(emit_sll_n, emit_ldah_num, emit_addq_r, emit_lda_n): New
|
||
functions for emitting single instructions, no longer requiring a
|
||
recursive call to md_assemble.
|
||
(emit_add64): New function for expanding a REG:=REG+CONST
|
||
operation into one or more instructions, to handle wide constants.
|
||
(clear_insn): New variable.
|
||
(md_begin): Fill it in with zeros and BFD_RELOC_NONE values.
|
||
(alpha_ip): Use it to initialize local variable insns.
|
||
(alpha_ip, label "immediate" and cases 'P', 'G'): Use emit_add64
|
||
for calculations.
|
||
|
||
Fri Aug 26 14:46:15 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com)
|
||
|
||
* subsegs.c (section_symbol): Reverse still-wrong test of
|
||
EMIT_SECTION_SYMBOLS.
|
||
|
||
* write.c (BFD_FAST_SECTION_FILL): Always define.
|
||
(write_contents): If fill_size is 1, use memset instead of looping
|
||
calling memcpy.
|
||
|
||
Wed Aug 24 12:46:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/tc-mips.h (LOCAL_LABEL): Define as 0, for compatibility
|
||
with native MIPS assembler.
|
||
* configure.in (mips-*-irix*): Don't set emulation.
|
||
* config/te-irix.h: Remove.
|
||
|
||
* ecoff.c (ecoff_symbol_new_hook): Don't add a new file if we
|
||
haven't seen any input files yet.
|
||
* config/tc-alpha.c (md_begin): Just call symbol_create, rather
|
||
than calling symbol_new and then removing the symbol from the
|
||
list.
|
||
|
||
* as.c (main): Move a inside the #if 0 block which uses it.
|
||
* ecoff.c (current_stabs_filename): Make const.
|
||
* frags.h (frag_align_pattern): Declare.
|
||
* gasp.c (new_file): Cast isp to long, and use %ld to print it.
|
||
* config/tc-alpha.h (md_operand): Add cast to void.
|
||
(alpha_do_align): Declare argument types.
|
||
(tc_get_register): Declare.
|
||
(alpha_frob_ecoff_data): Declare.
|
||
* config/tc-alpha.c: Include <ctype.h>.
|
||
(s_mask): Don't declare; does not exist.
|
||
(line_comment_chars): Remove /* from descriptive comment.
|
||
(tc_get_register): Remove unused local reg.
|
||
(tc_gen_reloc): Don't bother to compare unsigned to zero.
|
||
(s_base): Correct warning to actually print register number.
|
||
(md_begin): Remove unused locals retval, lose, and i.
|
||
(alpha_fix_adjustable): Move default case inside switch to avoid
|
||
warning.
|
||
(load_symbol_address): Remove unused locals reloc_addr, p, sym,
|
||
and addend.
|
||
(emit_byte_manip_r): Declare types for all arguments.
|
||
(emit_extract_r, emit_insert_r, emit_mask_r): Likewise.
|
||
(emit_sign_extend, emit_bis_r, s_proc): Likewise.
|
||
(alpha_ip): Use sprint_value to print offsetT value. Remove
|
||
unused local size. Remove unused label get_macro.
|
||
(alpha_do_align): Make fill const.
|
||
(md_apply_fix): Remove unused label check_zov.
|
||
|
||
* configure.in: Recognize i586 as a synonym for i[34]86.
|
||
|
||
Tue Aug 23 12:32:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/obj-coff.c (c_line_new): Change line_number argument from
|
||
unsigned short to int so that the type in the prototype matches
|
||
the promoted type in the definition.
|
||
(stack_delete): Comment out; not used.
|
||
* config/obj-coff.h (tc_coff_symbol_emit_hook): Declare if not
|
||
BFD_ASSEMBLER, not if BFD_ASSEMBLER. Declare argument type.
|
||
* config/tc-m68k.h (tc_coff_sizemachdep): Declare.
|
||
* config/tc-m68k.c (tc_coff_symbol_emit_hook): Add ignored
|
||
argument.
|
||
|
||
Tue Aug 16 01:48:20 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* gas/config/tc-hppa.c (pa_comm): Undo last change. Set sy_frag for
|
||
the common symbol to the zero address frag (the correct fix).
|
||
|
||
Tue Aug 16 01:48:20 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* gas/config/tc-hppa.c (pa_comm): Undo last change. Set sy_frag for
|
||
the common symbol to the zero address frag (the correct fix).
|
||
|
||
* config/tc-hppa.c (pa_comm): Set sy_resolved for the common
|
||
symbol.
|
||
|
||
Fri Aug 12 17:51:48 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/tc-mips.c (md_begin): Drop "el" from the end of
|
||
TARGET_CPU. Check for mips64orion.
|
||
|
||
Tue Aug 9 19:43:45 1994 Stu Grossman (grossman@cygnus.com)
|
||
|
||
* configure.in: Recognize ppc-*-netware.
|
||
* config/te-ppcnw.h: New file to support Power-PC/Netware
|
||
configurations. Currently, it just enables the use of backslash
|
||
escapes in string directives.
|
||
|
||
Tue Aug 9 11:12:13 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/tc-ppc.c (ppc_stabx): Call expression directly, rather
|
||
than via pseudo_set. If expression is a symbol, move stab symbol
|
||
to just after symbol from expression.
|
||
|
||
* ecoff.c (ecoff_build_procs): Don't force adr of first fdr to be
|
||
zero. Undoes change of June 4, 1993.
|
||
|
||
* config/tc-mips.c (md_parse_option): Accept -mcpu=4400, 4600, and
|
||
orion.
|
||
|
||
Mon Aug 8 16:28:08 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
||
|
||
* as.h: Remove FOPEN_WB patch of Aug 6.
|
||
* configure.in: Configure for ho-go32 correctly.
|
||
* config/ho-go32.h: Fix copyright.
|
||
|
||
Mon Aug 8 11:59:51 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* gas/config/tc-hppa.c (md_pseudo_table): Delete redundant
|
||
upper-case versions of the pseudo-ops.
|
||
|
||
Mon Aug 8 13:42:16 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/tc-sparc.c (md_apply_fix): If we are going to generate a
|
||
non PC relative reloc, don't put the addend in the object file.
|
||
|
||
Sat Aug 6 01:15:02 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
||
|
||
* as.h: If FOPEN_WB is not defined, do the right thing in a go32
|
||
environment.
|
||
|
||
Mon Jul 11 11:34:52 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
||
|
||
* config/tc-h8300.c (pint): New function for handling varying
|
||
size of int pseudo op.
|
||
* doc/as.texinfo: Fix typo describing .h8300h pseduop.
|
||
|
||
Mon Aug 1 02:40:43 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (create_new_space): Initialize sd_subspaces
|
||
field in the space chain.
|
||
|
||
* config/tc-hppa.c (tc_gen_reloc): Cast return value from
|
||
hppa_gen_reloc_type.
|
||
|
||
Thu Jul 28 15:45:37 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/tc-sparc.c (sparc_ip): Check more carefully for
|
||
conflicting architectures.
|
||
(md_parse_option) [NO_V9]: Complain if v9 was selected.
|
||
(md_show_usage): Derive architecture list in usage message from
|
||
architecture_pname array.
|
||
(cypress): Macro deleted.
|
||
(op_hash): Don't initialize.
|
||
(s_common): Use bfd_und_section_ptr instead of bfd_und_section.
|
||
|
||
* config/tc-sparc.c (BSR): New function.
|
||
(sparc_ip): Use it for right-shift operations of 32 bits or more.
|
||
|
||
* config/tc-sparc.c (sparc_ip): Implement new operand type 'x'.
|
||
|
||
Tue Jul 26 18:21:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/obj-coff.h: Moved common includes and TARGET_FORMAT
|
||
definitions together.
|
||
(WORKING_DOT_WORD, WARN_SIGNED_OVERFLOW_WORD,
|
||
OBJ_COFF_OMIT_OPTIONAL_HEADER, BFD_HEADERS, BFD) [!BFD_ASSEMBLER]:
|
||
Moved these definitions to the start of the file, before the
|
||
includes.
|
||
(SYMBOLS_NEED_BACKPOINTERS, OBJ_COFF_MAX_AUXENTRIES): Always
|
||
define these.
|
||
(S_GET_ZEROES): Deleted.
|
||
(S_SET_ZEROES): Moved to obj-coff.c.
|
||
|
||
* config/obj-coff.c (obj_coff_* psuedo-op fns): Deleted
|
||
forward declarations.
|
||
(obj_pseudo_table): Moved to one version end of file,
|
||
conditionalized internally.
|
||
(stack typedef, stack_init, stack_delete, stack_push, stack_pop,
|
||
tag_hash, tag_init, tag_insert, tag_find, tag_find_or_make): Moved
|
||
to one combined version at top of file, unconditional. Deleted
|
||
forward declarations.
|
||
(s_get_name): Moved one copy of declarations to start of file.
|
||
(def_symbol_in_progress): Ditto. Don't initialize.
|
||
(S_SET_ZEROES): Moved here from obj-coff.h.
|
||
(write_object_file): If TC_COFF_SET_MACHINE is defined, call it on
|
||
the file headers.
|
||
|
||
* config/obj-coff.c (seg_info_off_by_4): Now const and static.
|
||
(SEG_INFO_FROM_SEG_NUMBER): Unused macro deleted.
|
||
(previous_file_symbol, def_symbol_in_progress, symbol_externP,
|
||
symbol_extern_lastP, last_functionP) [!BFD_ASSEMBLER]: Don't
|
||
bother explicitly initializing to zero value.
|
||
|
||
* config/obj-coff.c (fixup_segment) [TC_I960]: Use SF_GET_BALNAME
|
||
and SF_GET_CALLNAME instead of the TC_S_IS_ versions.
|
||
|
||
* config/tc-i960.h (TC_COFF_SET_MACHINE): New macro. Calls
|
||
tc_headers_hook.
|
||
|
||
* config/tc-i960.c (targ_has_iclass): Use I_CX | I_CX2 where I_CX
|
||
was used previously.
|
||
(tc_headers_hook): If I_CX2 is found, set flags to F_I960CA.
|
||
|
||
* config/tc-i960.c (po_hash): Declaration deleted.
|
||
(next_object_file_charP): Ditto.
|
||
(regnames, aregs, coj): Now const.
|
||
(parse_memop): Static array def_scale now const.
|
||
(md_begin): Cast away const when passing hash routines addresses
|
||
of values in regnames or aregs.
|
||
(md_longopts): Added "link-relax" and "no-relax" hyphenated forms.
|
||
Continue to accept one-word forms.
|
||
(struct tabentry, arch_tab): Moved to top level from inside
|
||
md_parse_option. Now const.
|
||
(md_show_usage): Use arch_tab to generate usage message. Print
|
||
hyphenated forms of relax options.
|
||
|
||
* config/tc-i960.h (DEFINE_I960_AOUT, TC_S_IS_*, TC_S_*_SYSPROC,
|
||
TC_S_FORCE_TO_*): Moved from here...
|
||
* config/tc-i960.c: ... to here. Changed DEFINE_I960_AOUT stuff
|
||
to test OBJ_AOUT and OBJ_BOUT directly.
|
||
|
||
* config/tc-i960.h (CTRL, COBR, COJ, REG, MEM*, FBRA, CALLJ,
|
||
M1-M3, REG_OPC, R_*, SFR, LIT, FP, OP, R, RS, RL, RSL, F,
|
||
{R,F}{,L}{2,4}, M, SFR_OK, LIT_OK, FP_OK, REG_ALIGN, MEMOP, I_*):
|
||
Macros deleted.
|
||
|
||
* config/tc-i960.c (ARCH_JX): Define.
|
||
(arch_tab): Include JX.
|
||
(targ_has_sfr, targ_has_iclass): Handle JX.
|
||
(tc_headers_hook): Set flags to F_I960JX for i960JX.
|
||
|
||
Fri Jul 15 15:36:51 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* subsegs.c (section_symbol): Had last change backwards.
|
||
|
||
Thu Jul 14 13:21:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/atof-ns32k.c: Deleted.
|
||
|
||
* config/obj-aout.c (obj_aout_frob_symbol): Use
|
||
bfd_ind_section_ptr and bfd_und_section_ptr.
|
||
|
||
* subsegs.c (subseg_set_rest): Compare segT values directly,
|
||
without casting to int first.
|
||
|
||
* config/tc-ns32k.c (md_begin): Return value from hash_insert
|
||
should be pointer to const. Don't call exit explicitly after
|
||
calling as_fatal; it won't return.
|
||
(convert_iif): Make local variable j be pointer to bit_fixS, since
|
||
that's how it's used.
|
||
(encode_operand, case 'b'): Ignore sprintf return value. Don't try
|
||
converting freeptr to int and back.
|
||
|
||
Merged in NS32K support update from Ian Dall (dall@hfrd.dsto.gov.au):
|
||
|
||
* config/te-pc532mach.h: New file. pc532-mach target emulation.
|
||
|
||
* config/te-netbsd532.h: New file. Netbsd532 target emulation.
|
||
|
||
* config/tc-ns32k.h: Add definition of NOP_OPCODE.
|
||
|
||
* config/tc-ns32k.h: Add prototype for fix_new_ns32k_exp.
|
||
|
||
* config/tc-ns32k.h: Add BFD_ASSEMBLER support.
|
||
|
||
* config/tc-ns32k.c (tc_gen_reloc): New function for BFD_ASSEMBLER.
|
||
|
||
* config/tc-ns32k.c (fix_new_ns32k_exp): Get reloc type
|
||
differently for BFD_ASSEMBLER.
|
||
|
||
* config/tc-ns32k.c (md_estimate_size_before_relax): Get reloc
|
||
type differently for BFD_ASSEMBLER.
|
||
|
||
* config/tc-ns32k.c (md_create_long_jump): Size of opcode is one
|
||
not 2.
|
||
|
||
* config/tc-ns32k.c (md_convert_frag): Code for the BFD_ASSEMBLER
|
||
case. Also use smart md_pcrel_adjust function.
|
||
|
||
* config/tc-ns32k.c (md_apply_fix): Code for the BFD_ASSEMBLER
|
||
case. Also use smart md_fix_pcrel_adjust function.
|
||
|
||
* config/tc-ns32k.c (md_fix_pcrel_adjust): New function which can
|
||
find offset from opcode to operand even if in another frag
|
||
and in the presence of relaxing.
|
||
|
||
* config/tc-ns32k.c (md_pcrel_adjust): New function which can
|
||
find offset from opcode to operand even if in another frag
|
||
and in the presence of relaxing.
|
||
|
||
* config/tc-ns32k.c (md_number_to_disp): Check ranges properly.
|
||
|
||
* config/tc-ns32k.c (md_atof): use atof_ieee instead of special
|
||
atof_ns32k.
|
||
|
||
* config/tc-ns32k.c (reloc): New (static) function for
|
||
BFD_ASSEMBLER.
|
||
|
||
* config/tc-ns32k.c (convert_iif): More correct pc relative code.
|
||
md_relax must be able to find opcode address even if in another frag.
|
||
|
||
* config/tc-ns32k.c: More extensive comments.
|
||
|
||
* config/tc-ns32k.c (encode_operand): Support new operand classes I
|
||
and Z. Drop Q.
|
||
|
||
* config/tc-ns32k.c (fix_new_ns32k_exp): new function and
|
||
corresponding prototype.
|
||
|
||
* config/tc-ns32k.c: make 32532 default machine instead of 32032.
|
||
|
||
* config/tc-ns32k.c: include opcode/ns32k.h after as.h
|
||
|
||
* aout_gnu.h: r_disp needs to be 2 bits for TC_NS32K
|
||
|
||
* write.h: fx_im_disp needs to be 2 bits big for TC_NS32K
|
||
|
||
* write.c (relax_segment): Use TC_PCREL_ADJUST macro (if defined)
|
||
instead of adding pcrel_adjust.
|
||
|
||
* write.c (write_object_file): Adjust to_addr for the
|
||
BROKEN_DOT_WORD feature for the BFD_ASSEMBLER case.
|
||
|
||
* write.c (write_object_file): Use TC_CONS_FIX_NEW if it is defined.
|
||
|
||
* write.c (write_contents): Add code (currently if
|
||
BFD_FAST_SECTION_FILL is defined) to make large fills a lot faster.
|
||
|
||
* configure.in: Remove ns32k from special FP list. All the ns32k
|
||
series use ieee float.
|
||
|
||
* configure.in: Add ns32k-pc532-mach and ns32k-pc532-netbsd targets
|
||
|
||
* as.h: include expr.h before targ-env.h. Some target dependent file
|
||
want to use expr structures.
|
||
|
||
Wed Jul 13 14:49:05 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/tc-m68k.c (m68k_ip): Change rp to be a const pointer.
|
||
(md_parse_option): Clear cpu field of current_architecture before
|
||
setting a new cpu type. Clear no_68881 for m68881 or m68882.
|
||
Clear no_68851 for m68851.
|
||
|
||
Tue Jul 12 21:27:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/ho-sysv.h (realloc): Declare.
|
||
|
||
* symbols.c (symbol_create): New function, most of the guts of the
|
||
old symbol_new function.
|
||
(symbol_new): Now just checks symbol_table_frozen, calls
|
||
symbol_create, and enters the symbol into the symbol table.
|
||
* subsegs.c (section_symbol): If EMIT_SECTION_SYMBOLS is not true,
|
||
and the symbol table is frozen, call symbol_create instead of
|
||
symbol_new.
|
||
* symbols.h (symbol_create, symbol_table_frozen): Declare.
|
||
|
||
* symbols.c (symbol_clear_list_pointers): Always a function now.
|
||
* struc-symbol.h (symbol_clear_list_pointers): Deleted macro
|
||
version.
|
||
|
||
* symbols.c (debug_verify_symchain): New macro, defined to be
|
||
verify_symbol_chain or a cast to void, depending on DEBUG_SYMS.
|
||
(many functions): Invoke debug_verify_symchain unconditionally.
|
||
|
||
Tue Jul 12 12:06:42 1994 Kung Hsu (kung@x1.cygnus.com)
|
||
|
||
* config/obj-ecoff.h: change calling interface of
|
||
OBJ_GENERATE_ASM_LINE_STAB.
|
||
* config/obj-elf.h: ditto.
|
||
* read.c (read_a_source_file): ditto.
|
||
* ecoff.h: change calling interface of
|
||
ecoff_generate_asm_line_stab.
|
||
* ecoff.c (add_file): record of filename to handle case of include
|
||
files, also change default built-in type from int to void for
|
||
asm file.
|
||
* ecoff.c (ecoff_generate_asm_line_stab): handle case of include
|
||
files.
|
||
|
||
Mon Jul 11 17:20:23 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/tc-mips.c (macro): In case M_LA_AB, SVR4_PIC, large
|
||
constant, and case ldd_std, set mips_optimize to 2 temporarily to
|
||
avoid inserting an unexpected nop instruction.
|
||
|
||
Sat Jul 9 00:05:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* ecoff.c (ecoff_build_lineno): Handle count correctly for last
|
||
line number.
|
||
|
||
Fri Jul 8 15:22:07 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
||
|
||
* gasp.c (process_pseudo_op): Pass right args to do do_aif.
|
||
(get_any_string): New arg 'pretend_quote'.
|
||
(get_and_process, do_formals, macro_expand, do_sdata,
|
||
process_pseudo_op): Use new arg.
|
||
|
||
Fri Jul 8 12:23:44 1994 Kung Hsu (kung@mexican.cygnus.com)
|
||
|
||
* config/obj-ecoff.h: define macro OBJ_GENERATE_ASM_LINE_STAB.
|
||
* config/obj-elf.h: ditto.
|
||
* read.c (read_a_source_file): generate line stabs for asm file.
|
||
* read.h: add extern generate_asm_line_stab.
|
||
* ecoff.h : add prototype for ecoff_generate_asm_line_stab().
|
||
* ecoff.c (add_file): if there's no filename provided, set switch
|
||
to generate line stabs for .s file.
|
||
* ecoff.c (add_procedure): add stabs symbol for .ent directive.
|
||
* ecoff.c (generate_ecoff_stab): creates an artificial stabs.
|
||
* ecoff.c (generate_asm_line_stab): generate a artifitial label
|
||
for each line and generate a stabn for the line.
|
||
|
||
Thu Jul 7 17:04:03 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
||
|
||
* gasp.c (get_any_string): Cope with getting a string with an
|
||
alternate base specifier.
|
||
(do_aif, do_aelse): Only enable output if expression is true and previous
|
||
level was on.
|
||
(chartype_init): Add BASEBIT chartype.
|
||
(process_pseudo_op): Notice nesteed AIFs.
|
||
|
||
Thu Jul 7 12:30:22 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
||
|
||
* h8300.c (do_a_fix_imm): Code for 2 bit reloc type using in trapa
|
||
insn. (fix pr 5165, 5174)
|
||
|
||
Thu Jul 7 11:31:32 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (R_DLT_REL): If it isn't defined, then define
|
||
to an appropriate value to avoid losing on old hpux systems.
|
||
|
||
* config/tc-hppa.c (hppa_fix_adjustable): Reject reductions for
|
||
symbols in DLT relative relocs.
|
||
(tc_gen_reloc): Zero out the addend field for DLT relative relocs.
|
||
|
||
Wed Jul 6 01:07:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-ppc.c (ppc_tc): If not OBJ_COFF, force TOC entry to
|
||
align to a four byte boundary.
|
||
|
||
Tue Jul 5 15:42:09 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/tc-alpha.c (load_expression): Handle 32-bit addends.
|
||
(gpdisp_hi16_howto): Now points to const.
|
||
(load_insn_table, alpha_ip): Fix uses of const.
|
||
|
||
* doc/internals.texi: Updates to COFF description. Added "@end
|
||
defmac" as needed, and some extra heading and "@bye" so it'll
|
||
format as a separate document.
|
||
|
||
Tue Jul 5 13:54:00 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/obj-elf.h (S_GET_ALIGN, S_SET_ALIGN): Define.
|
||
* config/obj-elf.c (obj_elf_common): Set alignment of common
|
||
symbol.
|
||
* config/tc-sparc.c (s_common): If OBJ_ELF, set alignment of
|
||
common symbol.
|
||
|
||
Mon Jul 4 18:29:43 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (is_complex): New macro.
|
||
(cons_fix_new_hppa): "Handle" complex expressions.
|
||
|
||
Fri Jul 1 00:48:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-coff.c (write_object_file): Set s_align field from
|
||
section_alignment array.
|
||
|
||
Thu Jun 30 15:05:28 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* write.c (write_object_file): Use bfd_com_section_ptr.
|
||
* as.h (absolute_section, undefined_section): Use new BFD macros
|
||
bfd_abs_section_ptr and bfd_und_section_ptr.
|
||
|
||
Thu Jun 30 14:36:37 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* config/tc-mips.c (macro): For M_LI_SS, decide how to handle it
|
||
based on contents of imm_expr and offset_expr, rather than
|
||
mips_pic. For M_LI_DD, decide how to handle it based on segment
|
||
name of offset_expr, rather than mips_pic.
|
||
(mips_ip): If g_switch_value < 4, use immediate values for 'l'.
|
||
If g_switch_value < 8, use .rdata rather than .lit for 'L'.
|
||
|
||
Wed Jun 29 17:30:46 1994 Stan Shebs (shebs@andros.cygnus.com)
|
||
|
||
* as.c (show_usage): Break long string into shorter ones.
|
||
(parse_args): Add -v, prints version id and continues.
|
||
* config/tc-mips.c (md_show_usage): Break long string.
|
||
|
||
Mon Jun 27 09:47:16 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
|
||
|
||
* config/tc-i386.c (md_parse_option): Handle "-V" and "-Q" if
|
||
OBJ_ELF is defined.
|
||
|
||
Sun Jun 26 16:30:48 1994 Stan Shebs (shebs@andros.cygnus.com)
|
||
|
||
* as.c (main) [HOST_SPECIAL_INIT]: New hook, for host-specific
|
||
initialization.
|
||
|
||
Wed Jun 22 00:24:55 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.h (obj_frob_symbol): Define for OBJ_ELF.
|
||
More gas/bfd lossage exposed by the new linker code.
|
||
|
||
Tue Jun 21 11:32:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* subsegs.c (subseg_change): Clear seginfo after allocating it.
|
||
(subseg_get): Pass actual size of seginfo to memset.
|
||
|
||
* subsegs.c (abs_seg_info, und_seg_info): Define if BFD_ASSEMBLER.
|
||
(subseg_change): Store seg_info for bfd_abs_section_ptr in
|
||
abs_seg_info, and store seg_info for bfd_und_section_ptr in
|
||
und_seg_info.
|
||
(subseg_get): Likewise. Also, don't set output_section if it is
|
||
already set.
|
||
(seg_info): Define as function.
|
||
* subsegs.h (seg_info): Declare as function rather than defining
|
||
as macro.
|
||
* write.c (relax_and_size_seg): Call seg_info rather than
|
||
bfd_get_section_userdata.
|
||
|
||
Mon Jun 20 16:30:54 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* configure.in (ppc-*-elf*): New target, like -sysv4*.
|
||
|
||
* expr.c (operand): If "0f" is followed by '\0', don't do eol
|
||
checks.
|
||
|
||
Mon Jun 20 15:17:43 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
||
|
||
* ecoff.c (ecoff_build_aux): Call swap_tir_out and swap_rndx_out
|
||
via backend pointer, not directly.
|
||
|
||
Fri Jun 17 18:05:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* Makefile.in (config-stamp): Make sure there is at least one
|
||
element in the for loop.
|
||
|
||
Fri Jun 17 11:01:04 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c: Misc trivial changes to make gcc -Wall happy.
|
||
|
||
* config/tc-hppa.h (elf_hppa_final_processing): Declare.
|
||
|
||
Wed Jun 15 20:44:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* as.c (parse_args): Cast xmalloc return value.
|
||
|
||
* Makefile.in (config-stamp): If $(defs) contains multiple words,
|
||
emit a #define line for each.
|
||
* configure.in: For sparc64 target, use sparc cpu files and add
|
||
sparcv9 to extra_defs. No longer treat sparc64-*-aout* specially.
|
||
|
||
* config/tc-sparc.c (membar_masks): Now static and const.
|
||
(md_show_usage) [!NO_V9]: Add -Av9 to usage message.
|
||
(current_architecture) [sparcv9]: Initialize to v9.
|
||
(md_begin) [sparcv9]: Don't bother changing it unconditionally
|
||
here.
|
||
(s_reserve): Don't pass unexpected argument to as_bad with
|
||
bad-segment message.
|
||
|
||
* as.h (bfd_alloc_by_size_t) [BFD_ASSEMBLER]: Declare.
|
||
|
||
* config/atof-ieee.c (int_to_gen): Commented out unused routine.
|
||
|
||
* config/tc-vax.c (md_assemble): Removed check of operand section.
|
||
|
||
Fri Jun 3 17:25:08 1994 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* config/obj-vms.h (DBG_S_C_COMPLX4, DBG_S_C_COMPLX8): define
|
||
these new VMS symbol-type macros for `complex float' and
|
||
`complex double' support. Their values come from the existing
|
||
DSC$K_DTYPE_FC and DSC$K_DTYPE_DC macros in <descrip.h>.
|
||
(DBG_S_C_REAL8_G, DBG_S_C_COMPLX8_G): G_float versions of
|
||
REAL8 and COMPLX8; not used yet, because gcc outputs the same
|
||
.stabs for `double' regardless of whether `-mg' is used.
|
||
* config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries
|
||
for gcc2's predefined types "complex float", "complex double",
|
||
and "complex long double" (identical to complex double).
|
||
|
||
Wed Jun 15 12:32:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-coff.c (coff_frob_symbol): Use C_STAT for the .text
|
||
section symbol, not C_LABEL.
|
||
|
||
* config/tc-mips.c (mips_ip): Permit a modifier in 'o' case, and
|
||
permit non constant expressions in 'u' case. Lets ``lui
|
||
$8,%hi(foo); lw $8,%lo(foo)($8)'' work correctly.
|
||
|
||
Mon Jun 13 12:08:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt
|
||
to put a common symbol in a set.
|
||
|
||
Sat Jun 11 16:41:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
Add weak symbols as an extension to a.out.
|
||
* read.c (pseudo_set): Only preserve external bit for OBJ_AOUT and
|
||
OBJ_BOUT if not BFD_ASSEMBLER.
|
||
* config/aout_gnu.h (N_WEAKU, N_WEAKA, N_WEAKT, N_WEAKD, N_WEAKB):
|
||
Define as in ../include/aout/aout64.h.
|
||
* config/obj-aout.h (OBJ_SYMFIELD_TYPE): If not BFD_ASSEMBLER,
|
||
define as char.
|
||
(S_GET_WEAK, S_SET_WEAK): Define if not BFD_ASSEMBLER.
|
||
* config/obj-aout.c (obj_pseudo_table): Add "weak".
|
||
(obj_emit_symbols): Adjust type of weak symbols.
|
||
(obj_aout_weak): New static function.
|
||
|
||
Fri Jun 10 13:48:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-elf.c (obj_elf_section): Don't set any flags based on
|
||
the type of a special section.
|
||
|
||
* config/ho-sunos.h: Include <stdlib.h>. Don't declare malloc,
|
||
realloc, free, or atol.
|
||
|
||
Wed Jun 8 06:28:37 1994 Bill Cox (bill@cygnus.com)
|
||
|
||
* Makefile.in (check): Delete as.new dependency, so that
|
||
regression test doesn't trigger an assembler build.
|
||
|
||
Tue Jun 7 13:33:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* Makefile.in (mostlyclean, realclean): New targets.
|
||
* doc/Makefile.in, testsuite/Makefile.in: Likewise.
|
||
|
||
Mon Jun 6 13:10:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (RDATA_SECTION_NAME): Define.
|
||
(macro): Correct M_LI_SS SVR4_PIC/EMBEDDED_PIC case. After M_LI_D
|
||
or M_L_DOB or label dob, force a new frag to avoid getting
|
||
confused in tc_gen_reloc.
|
||
(mips_ip): Use RDATA_SECTION_NAME, not .rdata.
|
||
(s_change_sec): Likewise.
|
||
|
||
Fri Jun 3 23:35:36 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* read.c (emit_expr): Use memset to zero out memory, rather than
|
||
going through md_number_to_chars. This permits handling symbolic
|
||
arguments when the size is larger than sizeof (valueT), if
|
||
TC_CONS_FIX_NEW is prepared to handle the case (as it is on MIPS).
|
||
|
||
Fri Jun 3 12:50:13 1994 David J. MacKenzie (djm@rtl.cygnus.com)
|
||
|
||
* as.c (show_usage), config/tc-alpha.c (md_show_usage),
|
||
config/tc-mips.c (md_show_usage): Fix up messages.
|
||
|
||
* as.h: Replace flagseen with separate variables.
|
||
* as.c (parse_args): Set them. Don't accept -1 option, or -v
|
||
explicitly (it's a synonym for --version).
|
||
* as.c, input-scrub.c, messages.c, read.c, symbols.c, write.c,
|
||
config/obj-aout.c, config/obj-aout.h, config/obj-bout.c,
|
||
config/obj-bout.h, config/obj-coff.c, config/obj-coff.h,
|
||
config/obj-vms.c, config/tc-hppa.c, config/tc-i386.c,
|
||
config/tc-i960.c, config/tc-m68k.c, config/tc-mips.c,
|
||
config/tc-vax.c: Use the new flag variables instead of flagseen.
|
||
* config/tc-vax.c [OBJ_VMS]: Recognize -+, -1, -v, and document in
|
||
usage.
|
||
|
||
* as.c (show_usage): Remove target specific messages;
|
||
instead, call md_show_usage.
|
||
(parse_args): Use getopt_long_only. Take pointers to argc and
|
||
argv.
|
||
(main): Pass parse_args pointers.
|
||
* as.h: Remove 3 variables that are redundant with flagseen.
|
||
* as.c, messages.c: Change their users to use flagseen.
|
||
Define getopt stuff.
|
||
* tc.h: Update md_parse_option decl. Add md_show_usage decl.
|
||
* config/tc-*.c: Add md_shortopts, md_longopts,
|
||
md_longopts_size, md_show_usage. Change calling convention for
|
||
md_parse_option. Remove md_parse_long_option.
|
||
* config/tc-ns32k.c: Rename `struct option' to `struct ns32k_option'.
|
||
* config/tc-i386.h: Don't define md_parse_option.
|
||
|
||
Thu Jun 2 13:54:46 1994 David J. Mackenzie (djm@rtl.cygnus.com)
|
||
|
||
* as.c (show_usage): New function.
|
||
(parse_args): Code moved from main.
|
||
Recognize --help and --version.
|
||
* config/tc-ns32k.h: Define TC_NS32K.
|
||
* doc/as.texinfo: Document all of the target-independent command
|
||
line options.
|
||
|
||
Thu Jun 2 12:07:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* gasp.c (hash_new_table): Clear newly allocated table.
|
||
|
||
* config/tc-m68k.c (enum _register): Add 68060 control registers
|
||
BUSCR and PCR.
|
||
(last_movec_reg): New macro.
|
||
(m68000_control_regs, m68010_control_regs, m68020_control_regs,
|
||
m68040_control_regs, m68060_control_regs): New arrays.
|
||
(control_regs): New pointer.
|
||
(m68k_ip): Use control_regs instead of testing CPU every time.
|
||
Use last_movec_reg too. In error messages, handle 68060, and
|
||
print 68060 for mfloat, too.
|
||
(m68k_init_after_args): Handle "68060". Use m68040up for making
|
||
m68851 choice. Set control_regs.
|
||
(md_parse_option): Handle "68060".
|
||
* configure.in: Setting cpu_type, recognize m68060 too.
|
||
|
||
* config/obj-coff.c (fixup_segment) [!BFD_ASSEMBLER]
|
||
[DIFF_EXPR_OK]: Do conversion to pc-relative for difference, even
|
||
if pcrel is already set.
|
||
|
||
* read.c (potable): Add this_gcc_requires_the_gnu_assembler in all
|
||
lower-case, in case we're ignoring case of opcodes in the input
|
||
file.
|
||
|
||
* doc/as.texinfo (.section): Document as unavailable for a.out
|
||
type formats.
|
||
|
||
* config/tc-alpha.c (machine): New variable.
|
||
(load_insn): New macro.
|
||
(load_insn_table): New function.
|
||
(md_begin): Call load_insn_table, once for basic instructions and
|
||
once for appropriate PAL instruction table.
|
||
(md_parse_option): Set `machine' based on -m##### arguments.
|
||
* config/alpha-opcode.h (alpha_pal21064_opcodes): Split out from
|
||
alpha_opcodes.
|
||
(alpha_pal21164_opcodes): New table.
|
||
(NUM21064OPCODES, NUM21164OPCODES): New macros.
|
||
|
||
* configure.in (target i386-*-netbsd0.8): Use 386bsd emulation.
|
||
|
||
* doc/Makefile.in (install-info-gasp): Use $$dir when installing
|
||
file.
|
||
|
||
Wed Jun 1 10:48:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (mips_ip): Force floating point values to be
|
||
aligned correctly.
|
||
|
||
Fri May 27 10:05:53 1994 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
Merged in changes from gas-2.3 net release:
|
||
|
||
* Makefile.in (VERSION): Updated to cygnus-2.3.1.
|
||
|
||
* config/obj-vms.c: Replaced unchecked uses of malloc with
|
||
xmalloc.
|
||
|
||
* listing.c (list_symbol_table): Only test BFD64, not
|
||
BFD_ASSEMBLER too.
|
||
|
||
* config/obj-coff.c (fixup_segment) [BFD_ASSEMBLER]
|
||
[DIFF_EXPR_OK]: Don't check pcrel, just convert it.
|
||
|
||
* config/obj-vms.c: Removed lots of extra semicolons after
|
||
compound statements.
|
||
(strchr): Don't declare here.
|
||
|
||
* config/ho-vax.h (realloc): Declare.
|
||
|
||
* config/ho-vms.h (strchr, strdup): Declare.
|
||
|
||
* config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Accept and ignore
|
||
option `-q'.
|
||
|
||
Wed May 18 20:50:35 1994 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* config/obj-vms.h (DBG_S_C_SQUAD, DBG_S_C_UQUAD): define these
|
||
new VMS symbol-type macros; signed and unsigned quadword integers,
|
||
for `long long' support. Their values come from the existing
|
||
DSC$K_DTYPE_QU and DSC$K_DTYPE_Q macros in <descrip.h>. The
|
||
VMS debugger now recognizes `long long' variables correctly.
|
||
* config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries
|
||
for gcc2's predefined types "long double" (same as double, as
|
||
per gcc's current state), "long long int", "long long unsigned
|
||
int", and final `otherwise' case (to avoid uninitialized type
|
||
and size fields). [caveat: predefined types "complex int",
|
||
"complex float", "complex double", and "complex long double" are
|
||
still missing.]
|
||
|
||
* config/ho-vms.h (EXIT_FAILURE): define as 0x10000002 instead
|
||
of 0, because the latter indicates success rather than failure
|
||
when passed to `exit' or return from `main' compiled by gcc2.
|
||
|
||
* config/obj-vms.c (array_suffix, generate_suffix): replace two
|
||
hardcoded `0xa3's with macro DBG_S_C_ADVANCED_TYPE from obj-vms.h.
|
||
(VMS_typedef_parse): eliminate redundant if-then-else when
|
||
allocating new symbol entry and linking it to VMS_Symbol_type_list.
|
||
|
||
Tue May 17 20:47:31 1994 Pat Rankin (rankin@eql.caltech.edu)
|
||
|
||
* config/obj-vms.c (Write_VMS_MHD_Records): don't try to interpret
|
||
the contents of the GAS_VERSION string when falling back to it for
|
||
language processor identification.
|
||
|
||
* make-gas.com, vmsconf.sh (ENVIRON): fix misspelling of
|
||
`psect_attr' in linker options.
|
||
|
||
Wed May 11 22:32:00 1994 DJ Delorie (dj@ctron.com)
|
||
|
||
* configure.bat: update to latest makefile.in
|
||
* config/te-go32.h: [new] go32's environment
|
||
|
||
Fri May 20 17:59:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* as.h: Don't declare parameters for strstr.
|
||
|
||
Thu May 19 15:40:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-sparc.c (md_section_align): Don't change the size if
|
||
OBJ_ELF.
|
||
|
||
Wed May 18 13:08:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* Makefile.in (install): Redirect ln output to /dev/null. If ln
|
||
fails on gasp, install gasp.new, not gasp.
|
||
|
||
Wed May 18 09:16:36 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_ip): Use R_HPPA_ABS_CALL, not R_HPPA for
|
||
absolute calls.
|
||
|
||
Tue May 17 12:50:46 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_parse_fp_cmp_cond): Report an error
|
||
on a partial completer match.
|
||
|
||
Mon May 16 12:03:49 1994 Jeff Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c: Change .hppa_unwind to .PARISC.unwind
|
||
throughout code.
|
||
(is_complex): Delete definition and support for complex relocation
|
||
types.
|
||
(tc_gen_reloc): Delete special unwind crud for ELF. Simplify and
|
||
rewrite ELF code based on 94-02-02 PA ELF draft spec.
|
||
(pa_build_unwind_subspace): Use standard PARISC_DIR32 relocs for
|
||
the unwind descriptors.
|
||
|
||
Fri May 6 14:13:15 1994 Steve Chamberlain (sac@cygnus.com)
|
||
|
||
* config/go32.mh: New makefile fragment for go32 crossing.
|
||
* configure.in (host==go32): Use new fragment.
|
||
|
||
Fri May 6 14:35:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* gasp.c: Include libiberty.h.
|
||
(main): Remove unused variable i.
|
||
|
||
* config/tc-ppc.c (md_begin): When using -many, permit comparison
|
||
instructions to appear multiple times in the opcode table.
|
||
|
||
Thu May 5 19:14:43 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* Makefile.in (VERSION): Update to 2.2.90.
|
||
|
||
* symbols.c (symbol_new) [BFD_ASSEMBLER]: Don't permit additions
|
||
to the symbol table if it's already been set in the output bfd.
|
||
(symbol_begin) [! EMIT_SECTION_SYMBOLS] [RELOC_REQUIRES_SYMBOL]:
|
||
Don't use bfd_abs_section.symbol for gas absolute symbol.
|
||
|
||
* doc/Makefile.in (distclean, clean-dvi, clean-info): Delete gasp
|
||
files too.
|
||
|
||
Thu May 5 18:12:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (mips_emit_delays): Make call to
|
||
mips_no_prev_insn unconditional.
|
||
|
||
Thu May 5 17:25:38 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/obj-coff*.*: Merged coffbfd versions into coff versions,
|
||
with a single "#ifdef BFD_ASSEMBLER" controlling most of it for
|
||
now. Deleted obj-coffbfd.* files.
|
||
* configure.in: Always use obj-coff.* for COFF targets.
|
||
|
||
Wed May 4 13:34:11 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/te-dpx2.h (TARGET_FORMAT, REGISTER_PREFIX_OPTIONAL):
|
||
Define.
|
||
* configure.in (m68k-bull-sysv3*): Enable.
|
||
|
||
* config/coff_gnu.h: Deleted.
|
||
|
||
Wed May 4 11:29:17 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-m68k.h (TARGET_FORMAT): If not TE_SUN3, define as
|
||
"a.out-zero.big".
|
||
|
||
* config/obj-coffbfd.c (fixup_segment): Make common symbol and PC
|
||
relative adjustments when TE_LYNX is defined as well as when
|
||
TC_I386 is defined.
|
||
|
||
Wed May 4 02:29:21 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
||
|
||
* as.h (strstr): Restore declaration.
|
||
(subseg_get) [BFD_ASSEMBLER]: Declare.
|
||
|
||
* write.c (write_object_file): If obj_adjust_symtab is defined,
|
||
invoke it. Then call set_symtab, and finally invoke *_frob_file
|
||
hooks.
|
||
* config/obj-coff.c (coff_adjust_symtab): Renamed from
|
||
coff_frob_file.
|
||
* config/obj-coff.h (coff_adjust_symtab): Changed declaration
|
||
accordingly.
|
||
(obj_adjust_symtab): Macro also changed.
|
||
|
||
* configure.in (i386-*-gnu*): New target, handled like i386-mach.
|
||
|
||
Tue May 3 21:04:16 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/obj-coff.h (TARGET_FORMAT) [TC_I960]: Select little
|
||
endian version.
|
||
|
||
* config/obj-coffbfd.h (TARGET_FORMAT) [TC_I960]: Ditto.
|
||
|
||
* config/obj-coff.c (coff_frob_section): Round up the size of
|
||
every section to a multiple of the alignment, so that BFD doesn't
|
||
surprise us.
|
||
|
||
Eliminate many simple differences between the two COFF back ends:
|
||
|
||
* config/obj-coffbfd.c: Removed all uses of DEFUN and DEFUN_VOID.
|
||
Made minor stylistic changes, deleted some register declarations.
|
||
(stack_top): Deleted.
|
||
(symbol_to_chars): Use absolute_section and reg_section instead of
|
||
the corresponding SEG_* symbols.
|
||
(obj_coff_endef, tag_find_or_make, fixup_segment): Likewise.
|
||
(stack typedef, stack_init, stack_delete, stack_push, stack_pop):
|
||
Moved to just after pseudo-op table. All functions now static.
|
||
(stack_delete): Removed declaration.
|
||
(tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just
|
||
after stack functions.
|
||
* config/obj-coffbfd.h: Reordered some declarations and macros.
|
||
(stack_init, stack_delete, stack_push, stack_pop): Don't declare.
|
||
(stack typedef): Deleted.
|
||
(SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
|
||
(SYM_AUXENT): New macro.
|
||
(SA_GET_*, SA_SET_*): Define in terms of SYM_AUXENT when feasible.
|
||
(SF_GET_*, SF_SET_*): Define in terms of SF_GET when feasible.
|
||
(SA_GET_SYM_TAGNDX, SA_GET_SYM_ENDNDX, SA_SET_SYM_TAGNDX,
|
||
SA_SET_SYM_ENDNDX, object_headers typedef, data_section_header,
|
||
text_section_header): Delete non-BFD_HEADERS versions, since we
|
||
always define that symbol now.
|
||
|
||
* config/obj-coff.c (stack_top): Deleted.
|
||
(obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size,
|
||
obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Change
|
||
argument name from "ignored" to "ignore".
|
||
(obj_coff_val): Use frag_now_fix.
|
||
(obj_pseudo_table): Removed IGNORE_DEBUG version, since it doesn't
|
||
get used.
|
||
(stack typedef, stack_init, stack_delete, stack_push, stack_pop):
|
||
Moved to just after pseudo-op table. All functions now static.
|
||
(tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just
|
||
after stack functions.
|
||
* config/obj-coff.h: Reordered some declarations and macros.
|
||
Protected against multiple inclusions.
|
||
(stack_init, stack_delete, stack_push, stack_pop): Don't declare.
|
||
(stack typedef): Deleted.
|
||
(SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
|
||
(stdoutput): Deleted declaration.
|
||
(TARGET_FORMAT) [TC_I386]: Don't define if already defined.
|
||
|
||
Mon May 2 17:09:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* subsegs.h (segment_info_type): Use fix_tail field even if
|
||
BFD_ASSEMBLER.
|
||
* subsegs.c (subseg_change): Initialize fix_tail field.
|
||
(subseg_get): Likewise.
|
||
* write.c (frags_chained): New static variable.
|
||
(fix_new_internal): If frags_chained is set, use fix_root and
|
||
fix_tail from seg_info (now_seg), rather than frchain_now.
|
||
(chain_frchains_together_1): Set fix_tail field.
|
||
(chain_frchains_together): Set frags_chained.
|
||
|
||
Thu Apr 28 01:39:15 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
||
|
||
* config/tc-mips.c (s_option): Only refer to g_switch_* variables
|
||
if GPOPT is defined.
|
||
(s_abicalls): Ditto.
|
||
(md_apply_fix): Cast char* to unsigned char* to avoid pointer
|
||
mismatch.
|
||
|
||
Wed Apr 27 11:06:32 1994 Steve Chamberlain (sac@cygnus.com)
|
||
|
||
* configure.in (i386-*-go32): Uses coff now.
|
||
* gasp.c (main): Now takes -D on command line.
|
||
(show_usage): Describe new options.
|
||
|
||
Tue Apr 26 17:10:30 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* listing.c (list_symbol_table): Print "NO DEFINED SYMBOLS" and
|
||
"NO UNDEFINED SYMBOLS" if there aren't any, instead of displaying
|
||
the header with an empty list.
|
||
|
||
* config/obj-coffbfd.c (fill_section): Check COFF_NOLOAD_PROBLEM
|
||
also before setting STYP_NOLOAD for .bss section.
|
||
|
||
* config/tc-m68k.c (flag_reg_prefix_optional): New variable.
|
||
Initialized to value of REGISTER_PREFIX_OPTIONAL, if defined, or
|
||
zero.
|
||
(m68k_reg_parse): If flag_reg_prefix_optional is set, permit
|
||
register prefix to be absent.
|
||
(m68k_ip_op): Accept `&' also for immediate constants.
|
||
(insert_reg): Don't bother with (two!?) sanity checks of the
|
||
symbol table when inserting each register.
|
||
(m68k_parse_long_option): New function. Set
|
||
flag_reg_prefix_optional if "register-prefix-optional" is passed.
|
||
* config/tc-m68k.h (REGISTER_PREFIX): Always define if not already
|
||
defined.
|
||
(OPTIONAL_REGISTER_PREFIX): Don't define.
|
||
(REGISTER_PREFIX_OPTIONAL): If not already defined, define as zero
|
||
or one depending on M68KCOFF.
|
||
|
||
Some changes to help Apollo support, from troy@cbme.unsw.edu.au:
|
||
* config/tc-m68k.c (DATA, ADDR, SP, FPREG, COPNUM, BAD, BAC):
|
||
Define as macros instead of enumerators, since the Apollo compiler
|
||
can't handle "enumVal1, enumVal2 = enumVal1" when defining an enum
|
||
type.
|
||
(make_pcrel_absolute) [NO_PCREL_RELOCS]: New function.
|
||
(tc_coff_fix2rtype) [NO_PCREL_RELOCS]: Generate only R_RELBYTE,
|
||
R_DIR16, and R_DIR32 relocs.
|
||
* config/tc-m68k.h [TE_APOLLO] (COFF_MAGIC, COFF_AOUTHDR_MAGIC):
|
||
Use Apollo versions.
|
||
[TE_APOLLO] (OBJ_COFF_OMIT_OPTIONAL_HEADER): Undefine. That is,
|
||
do include the optional header for Apollo target.
|
||
(COFF_MAGIC): Don't define as MC68MAGIC if it's already defined.
|
||
|
||
* config/tc-m68k.h [TE_DELTA] (LEX_PCT): Define as 1, so that `%'
|
||
can be used within a label name.
|
||
|
||
* config/tc-m68k.h (m68k_init_after_args): Declare.
|
||
(tc_init_after_args): Define as m68k_init_after_args.
|
||
* config/tc-m68k.c (m68k_init_after_args): New function,
|
||
containing one-shot code from md_assemble. Added warning for
|
||
combination of 68040 and 68851.
|
||
(md_assemble): Startup-time code deleted.
|
||
|
||
Mon Apr 25 16:19:17 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* doc/Makefile.in (clean, distclean): Remove asconfig.texi.
|
||
|
||
Sun Apr 24 00:13:08 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_ip): 13 bit immediate constant (for break
|
||
instruction) is unsigned.
|
||
|
||
Fri Apr 22 17:58:22 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-ecoff.c (ecoff_frob_file): Use bfd_ecoff_set_gp_value
|
||
and bfd_ecoff_set_regmasks to set the GP value and the register
|
||
masks, rather than using the now obsolete fake .reginfo section.
|
||
|
||
Fri Apr 22 15:17:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* listing.c (list_symbol_table): Don't print register symbols as
|
||
undefined.
|
||
|
||
* config/obj-coff.c (obj_symbol_new_hook): Don't need to strip
|
||
underscores, since symbol_new will already have done it.
|
||
* config/obj-coffbfd.c (obj_symbol_new_hook): Ditto.
|
||
|
||
* as.c (main): If tc_init_after_args is defined, invoke it after
|
||
all arguments have been processed.
|
||
|
||
Some changes to help Apollo support, from troy@cbme.unsw.edu.au:
|
||
* as.c (perform_an_assembly_pass) [TE_APOLLO]: Create .wtext
|
||
section instead of .text. Call create_target_segments.
|
||
* read.c (demand_copy_string): No longer static.
|
||
|
||
Thu Apr 21 15:50:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (append_insn): Permit branches to be switched
|
||
with the preceding instruction even if .set nobopt has been seen.
|
||
.set nobopt actually controls whether to bring up an instruction
|
||
from the branch target, which gas does not currently support.
|
||
|
||
Wed Apr 20 18:46:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/obj-coff.h, config/obj-coff.c: Deleted all code used only
|
||
when BFD_ASSEMBLER is not defined, and all conditionals relating
|
||
to such code. No such targets remain.
|
||
|
||
Fixes for stabs-in-coff:
|
||
* config/obj-coff.c: Include subsegs.h.
|
||
(coff_frob_section): New function.
|
||
(obj_coff_init_stab_section): New function.
|
||
* config/obj-coff.h (obj_coff_init_stab_section,
|
||
coff_frob_section): Declare.
|
||
(obj_frob_section): New macro; uses coff_frob_section.
|
||
(INIT_STAB_SECTION): New macro; uses obj_coff_init_stab_section.
|
||
|
||
* config/tc-sparc.c (md_section_align): Always round up to
|
||
multiple of alignment power specified in bfd target vector.
|
||
|
||
* gasp.c: Include ctype.h.
|
||
|
||
Mon Apr 18 21:08:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* doc/Makefile.in, doc/as.texinfo: Renamed asdoc-config.texi to
|
||
asconfig.texi.
|
||
|
||
* doc/Makefile.in (install-info-as, install-info-gasp): Get file
|
||
names from source directory without pathname.
|
||
|
||
* config/obj-vms.c (VMS_write_object_file): While looking for
|
||
register mask, skip empty fill frags caused by enabling listing
|
||
output.
|
||
|
||
* config/ho-sysv.h: Include string.h.
|
||
|
||
* doc/internals.texi: New (well, recently added) file. Just added
|
||
info on as_warn and friends.
|
||
|
||
Mon Apr 18 14:28:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_parse_space_stmt): Use the built-in
|
||
defaults for defined, private, and spnum fields for the
|
||
$TEXT$ and $PRIVATE$ spaces. Do not clobber spnum. Do
|
||
not reset the segment if just updating a space.
|
||
(pa_spaces_begin): Set BFD section flags for all built-in
|
||
subspaces.
|
||
|
||
Fri Apr 15 10:51:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* ecoff.c (first_proc_ptr): New static variable.
|
||
(add_procedure): Set first_proc_ptr if it hasn't been set.
|
||
(ecoff_build_lineno): If the first procedure does not start at
|
||
address zero, insert a dummy line to compensate.
|
||
|
||
* Makefile.in (bootstrap, bootstrap2, bootstrap3): Make gasp.new
|
||
as well as as.new.
|
||
|
||
Thu Apr 14 15:12:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* expr.c (operand): Try to parse "0f" and "0b" sequences as
|
||
floating point and binary numbers respectively; if it doesn't
|
||
work, treat them as local labels.
|
||
|
||
* Makefile.in: Make $(OBJS) depend on $(ALL_OBJ_DEPS).
|
||
* configure.in: Set ALL_OBJ_DEPS in output Makefile.
|
||
|
||
Based on suggestions from <BAILEY@hmivax.humgen.upenn.edu>
|
||
(Charles Bailey):
|
||
* vmsconf.sh: In generated file, get ".obj" suffix right, build
|
||
source files from other directories into objects in the current
|
||
directory, and specify PSECT attributes explicitly to linker.
|
||
Also added missing label.
|
||
* Makefile.in (stamp-mk.com): Reference new variable
|
||
VMS_OTHER_OBJS for list of non-local object files, instead of
|
||
listing them here.
|
||
(VMS_OTHER_OBJS): New variable, added more libiberty files.
|
||
* make-gas.com: Regenerated.
|
||
|
||
* config/ho-vms.h (unlink): Define as delete.
|
||
|
||
* config-gas.com: Fix quoting on TARGET_CANONICAL definition.
|
||
Delete files before creating them.
|
||
|
||
Thu Apr 14 13:34:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* Makefile.in (de-stage1, de-stage2, de-stage3): Use rm -f.
|
||
|
||
* config/tc-mips.h (DIFF_EXPR_OK): Define.
|
||
* config/tc-mips.c (macro_build): Permit BFD_RELOC_PCREL_LO16 for
|
||
certain cases of 'i', 'j' and 'o'. Change 'u' to take an
|
||
argument, the reloc type.
|
||
(load_register): Pass reloc type to macro_build for 'u'.
|
||
(macro): Likewise. For M_LA_AB permit a difference expression
|
||
when generating embedded PIC code between an arbitrary symbol and
|
||
a symbol in the .text section.
|
||
(mips_force_relocation): Force BFD_RELOC_PCREL_HI16_S and
|
||
BFD_RELOC_PCREL_LO16 to be emitted.
|
||
(md_apply_fix): Check that most relocs are not PC relative.
|
||
Handle BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
|
||
(tc_gen_reloc): Change #error to as_fatal. Handle
|
||
BFD_RELOC_PCREL_LO16 and BFD_RELOC_PCREL_HI16_S.
|
||
|
||
Tue Apr 12 18:25:13 1994 Stan Shebs (shebs@andros.cygnus.com)
|
||
|
||
* subsegs.c (subsegs_begin): Call memset with args in the correct
|
||
order.
|
||
(subseg_get): Clear newly allocated seginfo, set its pointer slots
|
||
to NULL instead of 0.
|
||
|
||
Mon Apr 11 09:00:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_procend): Handle case where label was
|
||
defined after the .proc directive.
|
||
|
||
* config/tc-hppa.c (pa_procend): Give an error if we encounter a
|
||
procend for a procedure without a name.
|
||
|
||
Thu Apr 7 14:28:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* 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.
|
||
|
||
Thu Apr 7 10:38:18 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* 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.
|
||
|
||
Wed Apr 6 20:48:30 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* configure.in (hppa*-*-*elf*): Don't require "-hp-" for the
|
||
manufacturer.
|
||
|
||
Tue Apr 5 15:48:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* 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.
|
||
|
||
Tue Apr 5 11:14:14 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
|
||
|
||
* config/tc-sparc.c (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.
|
||
|
||
* doc/Makefile.in (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.
|
||
|
||
Mon Apr 4 17:06:04 1994 Jeffrey A. Law (law@cygnus.com)
|
||
|
||
* config/tc-hppa.c (tc_gen_reloc): Fix thinko in ELF version.
|
||
|
||
Mon Apr 4 12:39:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* 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).
|
||
|
||
* 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.
|
||
|
||
Thu Mar 31 16:51:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-sparc.c (tc_gen_reloc): Add a gruesome hack to get
|
||
cross section PC relative relocs right for COFF and ELF.
|
||
|
||
Mon Mar 28 14:38:23 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/obj-coff.h (SEPARATE_STAB_SECTIONS): Always define.
|
||
(OBJ_PROCESS_STAB): Don't define.
|
||
|
||
Mon Mar 28 12:40:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-aout.c (obj_aout_frob_symbols): Don't let BFD clobber
|
||
the type of symbol set symbols which happen to be in the absolute
|
||
or undefined section.
|
||
|
||
Mon Mar 28 12:35:00 1994 David Edelsohn (edelsohn@npac.syr.edu)
|
||
|
||
* config/tc-ppc.c (md_parse_option): Add -mpwrx (POWER/2 aka
|
||
RIOS2), -mpwr (POWER aka RIOS1), -mppc (PowerPC aka MPC603/604),
|
||
and -many (all architectures).
|
||
|
||
Sun Mar 27 14:04:19 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (tc_gen_reloc): Set addend for relocation
|
||
involving a function symbol which is not a plabel to zero.
|
||
(md_apply_fix): Never pass a function symbol to field_adjust.
|
||
|
||
Fri Mar 25 17:35:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-aout.c (obj_aout_frob_symbol): If N_EXT is set for an
|
||
N_INDR symbol, set BSF_EXPORT and clear BSF_LOCAL.
|
||
|
||
* config/tc-mips.c (append_insn): If EMBEDDED_PIC, don't swap a
|
||
branch with an instruction that uses $at, in case the branch is
|
||
later expanded.
|
||
(macro): If EMBEDDED_PIC, case M_JAL_A may use $at.
|
||
(md_pcrel_from): If not OBJ_AOUT, return 4 for an undefined symbol
|
||
to make it pcrel_offset.
|
||
(tc_gen_reloc): If not OBJ_AOUT, set the reloc addend to
|
||
reloc->address; another gruesome hack to get gas reloc handling to
|
||
do the right thing.
|
||
|
||
Thu Mar 24 21:29:29 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/tc-alpha.c (alpha_ip): Only set GP prolog size if using
|
||
PV register.
|
||
(T12): New macro.
|
||
(emit_insn): New function.
|
||
(md_assemble): Call it.
|
||
(alpha_force_relocation): Handle BFD_RELOC_26, for call_pal
|
||
instructions.
|
||
(lituse_pending): New variable. Set by anything that generates a
|
||
LITERAL reloc, cleared by anything that generates a LITUSE reloc,
|
||
tested by code that might want to emit a LITUSE reloc.
|
||
(emit_unaligned_io): New function. Currently calls md_assemble,
|
||
but it should eventually be converted to generate the insn itself
|
||
and call emit_insn directly.
|
||
(emit_load_unal, emit_store_unal, emit_byte_manip_r,
|
||
emit_extract_r, emit_insert_r, emit_mask_r, emit_sign_extend,
|
||
emit_bis_r): Likewise.
|
||
(alpha_ip, case 'I'): Handle with BFD_RELOC_23.
|
||
(alpha_ip, label get_macro): Don't emit the final instruction if
|
||
the opcode is zero.
|
||
(alpha_ip, case 'B', subcase 'd'): New case, for subword and
|
||
unaligned memory access macros.
|
||
(md_apply_fix): Handle BFD_RELOC_26. Generate an error message if
|
||
the value can't be resolved.
|
||
|
||
Wed Mar 23 16:06:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (md_parse_option): For -membedded-pic, force
|
||
the -G value to 0x7fffffff. For SVR4 PIC options, don't call
|
||
bfd_set_gp_size here, it's done in md_begin. Don't permit -G with
|
||
-membedded-pic.
|
||
(mips_force_relocation): New function.
|
||
(md_apply_fix): Set fixP->fx_done appropriately.
|
||
(s_change_sec): For EMBEDDED_PIC, change .data and .rdata to
|
||
.sdata.
|
||
* config/tc-mips.h (TC_FORCE_RELOCATION): Define.
|
||
(mips_force_relocation): Declare.
|
||
(TC_HANDLE_FX_DONE): Define.
|
||
|
||
Tue Mar 22 13:58:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (enum mips_pic_level): New enum.
|
||
(mips_pic): Change from int to enum mips_pic_level. Change all
|
||
uses (0 becomes NO_PIC, 2 becomes SVR4_PIC).
|
||
(load_address): Handle EMBEDDED_PIC.
|
||
(macro): Handle EMBEDDED_PIC in all PIC cases.
|
||
(md_parse_option): Accept -membedded-pic to use EMBEDDED_PIC. If
|
||
OBJ_ELF, accept -KPIC and -call_shared to use SVR4_PIC and accept
|
||
-non_shared to use NO_PIC (this is how the Irix 5 assembler
|
||
works). Do not permit -G with SVR4_PIC.
|
||
(s_abicalls): Warn if -G was used, and force -G 0.
|
||
(tc_gen_reloc): Set reloc->addend to 0 for a PC relative reloc for
|
||
anything but a.out, not just for ELF. For ECOFF, don't generate a
|
||
BFD_RELOC_16_PCREL_S2 reloc unless using EMBEDDED_PIC.
|
||
|
||
* config/obj-ecoff.h (obj_sec_sym_ok_for_reloc): Define to be 1.
|
||
|
||
Sun Mar 20 16:31:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (create_new_space): Use ints, not chars as
|
||
parameters to avoid losing when compiling with HP CC.
|
||
(create_new_subspace, update_subspace, fix_new_hppa): Likewise.
|
||
|
||
Sun Mar 20 14:43:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* Makefile.in (config-stamp): If `defs' is defined, emit a
|
||
preprocessor directive to create a macro named by this value into
|
||
config.new; don't explicitly go for BFD_ASSEMBLER.
|
||
* configure.in: Define `defs', not `BFDDEF'. Set it to
|
||
MANY_SEGMENTS for any obj-coffbfd target.
|
||
* config/obj-coffbfd.h (BFD_HEADERS, BFD): Define.
|
||
* config/i386coff.mt (TDEFINES): Don't define BFD, MANY_SEGMENTS,
|
||
or BFD_HEADERS.
|
||
(LOCAL_LOADLIBES): Deleted.
|
||
* config/m68kcoff.mt (TDEFINES): Don't define those macros.
|
||
* config/m88kcoff.mt (TDEFINES): Ditto.
|
||
* config/ebmon29k.mt: Deleted.
|
||
* config/h8300hds.mt: Deleted.
|
||
* config/ic960coff.mt: Deleted.
|
||
* config/sparc.mt: Deleted.
|
||
* config/h8300.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
|
||
* config/h8500.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
|
||
* config/sh.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
|
||
* config/z8k.mt (LOCAL_LOADLIBES): Deleted.
|
||
(TDEFINES): Don't define the coffbfd macros.
|
||
|
||
* Makefile.in: Insert makefile fragments before OBJS definition.
|
||
(OBJS): Add $(TE_OBJS).
|
||
|
||
* config/obj-coff.c (obj_pseudo_table): Supply "section"
|
||
unconditionally.
|
||
|
||
* write.c (set_symtab): Define only if BFD_ASSEMBLER.
|
||
|
||
Sun Mar 20 12:06:05 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* Makefile.in (STAGESTUFF): Add gasp.new.
|
||
|
||
Fri Mar 18 20:09:16 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* write.c (symbol_table_frozen): New variable, to be set after
|
||
bfd_set_symtab is called.
|
||
(dump_section_relocs): Note whether a symbol is a section symbol
|
||
or not.
|
||
(adjust_reloc_syms): For now, always supply an absolute symbol for
|
||
fixups without symbols but not yet `done'. Use section_symbol to
|
||
get the symbol, instead of going directly for abs_symbol.
|
||
(write_relocs) [DEBUG4]: Abort if any symbol referred to by a
|
||
reloc is not a section symbol and is not in the symbol table.
|
||
(set_symtab): New function, broken out from write_object_file.
|
||
Counts symbol table instead of relying on an earlier count.
|
||
(write_object_file): Call set_symtab, but do it after potentially
|
||
invoking the *_frob_file macros. Don't bother counting symbols.
|
||
Call symbol_remove, instead of expanding it in place. Moved the
|
||
conditionalized `object_file_size' declaration down to
|
||
conditionalized block where it's used. When using the absolute
|
||
symbol for a fixup without a symbol, set sy_used_in_reloc.
|
||
(write_object_file) [BFD_ASSEMBLER]: Call section_symbol to get
|
||
the correct symbol for the absolute section.
|
||
|
||
* subsegs.c (section_symbol): Use symbol_new instead of
|
||
symbol_make, since we may want it to go into the symbol table.
|
||
Make the new symbol have internal linkage. If
|
||
obj_sec_sym_ok_for_reloc says it's okay, use the BFD section
|
||
symbol with the newly created GAS symbol.
|
||
(obj_sec_sym_ok_for_reloc): Default to always returning 0.
|
||
* config/obj-aout.h (obj_sec_sym_ok_for_reloc) [BFD_ASSEMBLER]:
|
||
New macro.
|
||
* config/obj-elf.h (obj_sec_sym_ok_for_reloc): New macro.
|
||
|
||
* config/tc-sparc.c: Include subsegs.h.
|
||
(in_signed_range): New function.
|
||
(sparc_ip): Use it.
|
||
(sparc_ip, case 'i'): Use BFD_RELOC_SPARC13, not _BASE13.
|
||
(sparc_ip, label "immediate"): Reject constants for pcrel
|
||
instructions only if the relocation type indicates a "call"
|
||
instruction and the offset is within range of a "jmpl %g0". If
|
||
it's not in range, use the absolute section symbol plus an offset.
|
||
(md_apply_fix): Use in_signed_range. Combined _SPARC13 and
|
||
_BASE13 cases.
|
||
(tc_gen_reloc): Permit BFD_RELOC_SPARC13.
|
||
|
||
* config/ic960coff.mt (TDEFINES): Fixed typo (MANY_SECTIONS, not
|
||
MANY_SEGMENTS).
|
||
|
||
* configure.in: Eliminated all targets using obj-coff but not
|
||
defining BFD_ASSEMBLER; I think all such targets that are
|
||
supported will be matched by real CPU-OS combinations earlier in
|
||
the case statement.
|
||
(targets *-*-coff*, *-sysv*, *-*-sco*, *-*-sysv32): Deleted. Made
|
||
some comments about the dpx2 configuration, but left it disabled,
|
||
since it couldn't be reached before.
|
||
(target a29k-amd-ebmonold): Deleted.
|
||
|
||
Thu Mar 17 13:36:09 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_import): Correctly handle importing of an
|
||
already defined symbol.
|
||
|
||
Wed Mar 16 17:11:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (mips_ip): Only accept overly large values for
|
||
the 'j' operand if there are no further alternatives for this
|
||
instruction.
|
||
|
||
* config/obj-coffbfd.c (adjust_stab_section): Initialize
|
||
stabstrseg to SEG_UNKNOWN, not -1. After loop, check whether it
|
||
is not SEG_UNKNOWN rather than checking whether it is >= 0.
|
||
|
||
* config/tc-mips.c (mips_align): Take new argument, label, and use
|
||
it instead of global insn_label.
|
||
(s_align, s_cons, s_float_cons, s_gpword): Save insn_label before
|
||
call to mips_emit_delay and pass it to mips_align.
|
||
|
||
Wed Mar 16 11:54:12 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_equ): Handle both .reg and .equ correctly.
|
||
|
||
* config/tc-hppa.c (pa_callinfo): Accept "millicode" as an
|
||
argument to a .callinfo directive. Don't loop forever on errors.
|
||
|
||
* config/tc-hppa.c (pa_equ): Use pa_parse_number so that we can
|
||
use pre-defined registers as arguments.
|
||
|
||
Mon Mar 14 14:29:45 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* write.c (write_object_file): Check both S_IS_LOCAL and
|
||
S_IS_EXTERNAL when deciding whether to discard a symbol.
|
||
|
||
* config-gas.com: Scan Makefile.in, not version.c, for current
|
||
version number. Delete all versions of temp files when finished
|
||
with them. Create config.h.
|
||
|
||
* config/obj-vms.c (VMS_Initialized_Data_Size): Cache symbol
|
||
values to reduce number of lookups with S_GET_VALUE. Skip debug
|
||
symbols to avoid "a really nasty bug". (From Holger Teutsch,
|
||
holger@botbso.rhein-main.de.)
|
||
(VMS_write_object_file): For "__vt.*" symbols, set S_GET_OTHER
|
||
field. (Also from Holger Teutsch.) Watch for a would-be register
|
||
mask that spans frags.
|
||
|
||
* config/obj-coffbfd.c (obj_coff_line): Set symbol lnno field with
|
||
this_base, not line_base. (Patch from Andreas Arens,
|
||
ari@obelix.av.rwth-aachen.de.)
|
||
|
||
* config/obj-aout.c (obj_crawl_symbol_chain): Retain symbols that
|
||
look local if they're exported or undefined. Used to be done for
|
||
i960 only.
|
||
|
||
* read.c (s_lcomm, s_comm): Print symbol name being redefined.
|
||
Get it from the looked-up symbol, instead of using the string from
|
||
the input stream, which is no longer null-terminated.
|
||
(LEX_PCT): New macro, defaults to 0.
|
||
(lex_type): Use it for `%'.
|
||
|
||
* config/tc-vax.c (md_parse_option): Handle `-h#' option for VMS.
|
||
(vip_op): Now static, and returns void. Callers changed. Added
|
||
forward decl.
|
||
(vip): Ditto. Call as_fatal directly if a program bug is
|
||
detected.
|
||
(op_hash): Let default initialization suffice.
|
||
|
||
* Makefile.in (literal.o): Provide dependencies.
|
||
|
||
* configure.in: Set new makefile variable OPCODES_LIB.
|
||
* Makefile.in (LIBS): Use it.
|
||
|
||
* Makefile.in (make-gas.com, stamp-mk.com): New targets.
|
||
* vmsconf.sh: New file.
|
||
* make-gas.com: Regenerated from new script.
|
||
|
||
* configure.in (sparc*-*-lynxos*): Handle any version number
|
||
suffix after "lynxos". Set emulation to lynx.
|
||
|
||
Mon Mar 14 11:30:49 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
||
|
||
* config/obj-coff.c (obj_coff_section): Delete declaration.
|
||
|
||
Fri Mar 11 22:25:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-ppc.c (md_pcrel_from): Return 0 for undefined ELF
|
||
symbols.
|
||
(ppc_is_toc_sym): Change .toc to .got.
|
||
(md_apply_fix): Change handling of ELF relocs.
|
||
(tc_gen_reloc): Likewise.
|
||
|
||
Fri Mar 11 17:42:20 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/obj-vms.c (Close_VMS_Object_File): Add comment pointing
|
||
out some code that doesn't belong in this file.
|
||
|
||
* config/obj-vms.h: Include aout/stab_gnu.h.
|
||
(N_GSYM, ..., N_LENG): Deleted.
|
||
(NO_RELOC): Undefine before defining as part of enum reloc_type.
|
||
|
||
* config/tc-alpha.c: Add comment questioning need for all the
|
||
characters in FLT_CHARS.
|
||
|
||
* as.c (main) [OBJ_VMS]: Don't call output_file_close.
|
||
|
||
* config/obj-ecoff.c (ecoff_frob_file): Set strict order for
|
||
sections with recognized names, before computing VMA values.
|
||
|
||
Fri Mar 11 17:56:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (mips_ip): Accept numbers between 0x8000 and
|
||
0xffff for 'j' to be compatible with MIPS assembler. These
|
||
numbers are actually treated as negative.
|
||
|
||
Thu Mar 10 13:36:29 1994 Doug Evans (dje@canuck.cygnus.com)
|
||
|
||
* config/tc-sparc.h (LOCAL_LABEL): Local labels are .Lfoo.
|
||
|
||
Tue Mar 8 21:17:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/obj-coff.c: Minor formatting/stylistic changes, plus:
|
||
(obj_coff_section): Declare.
|
||
(obj_pseudo_table): Make it available only if MANY_SECTIONS.
|
||
(obj_symbol_to_chars) [CROSS_COMPILE]: Some attemps to make this
|
||
work. It still doesn't. It now fails to compile, instead of
|
||
silently compiling to do nothing.
|
||
* config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define only if
|
||
MANY_SECTIONS.
|
||
(OBJ_PROCESS_STAB) [! MANY_SECTIONS]: New macro, just emits
|
||
warning.
|
||
|
||
Handle Alpha load-immediate-FP pseudo-instructions:
|
||
* config/alpha-opcode.h (ldif, ldig, ldis, ldit): New patterns.
|
||
* config/tc-alpha.c (lit8_sec, lit4_sec, lit8_sym, lit4_sym): New
|
||
variables.
|
||
(create_literal_section): New function.
|
||
(create_lita_section): Now a macro.
|
||
(get_lit8_offset, get_lit4_offset): New functions.
|
||
(maybe_set_gp): New function.
|
||
(select_gp_value): Call it.
|
||
(load_expression): Preserve addend if symbol is a section symbol.
|
||
(alpha_ip): Handle new operand type `F' for floating-point
|
||
constants; store them in .lit{4,8} sections.
|
||
(alpha_ip, case 'G'): Emit LITUSE relocations for symbol exprs.
|
||
|
||
* config/tc-i386.c (smallest_imm_type): Never return Imm1.
|
||
|
||
Tue Mar 8 14:18:15 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
||
|
||
* config/obj-coffbfd.c (w_strings): Only copy strings out if
|
||
their symbols are going to be written.
|
||
|
||
Tue Mar 8 11:49:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* messages.c (as_perror): Declare arguments const.
|
||
* as.h (as_perror): Change declaration.
|
||
|
||
Mon Mar 7 16:08:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (load_address): When calling frag_grow, allow
|
||
for the (up to) two nops which may be inserted by append_insn if
|
||
mips_optimize is 0.
|
||
(macro): Likewise.
|
||
|
||
Thu Mar 3 11:37:55 1994 Doug Evans (dje@canuck.cygnus.com)
|
||
|
||
* config/atof-ieee.c (make_invalid_floating_point_number):
|
||
Add cast to avoid warning from gcc.
|
||
|
||
Wed Mar 2 10:31:01 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c: Add a few casts to make HP C compiler happy.
|
||
|
||
* config/obj-som.c (obj_som_version, obj_som_copyright): Be
|
||
prepared
|
||
to handle an error from bfd_som_attach_aux_hdr.
|
||
|
||
* config/tc-hppa.h: Wrap ELF specific decls inside an ifdef.
|
||
|
||
Mon Feb 28 15:03:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/tc-alpha.c (md_atof): Omit warning about FP values.
|
||
(line_comment_chars): Add ! to list.
|
||
(md_apply_fix): Do process 32- and 64-bit relocations.
|
||
|
||
* config/obj-coffbfd.c (obj_coff_lcomm): Put "#if 0" around the
|
||
unused parts (most of the function).
|
||
(obj_coff_init_stab_section): Cast alloca result.
|
||
|
||
* configure.in (i960-*-coff, i960-*-vxworks5.*): Use coffbfd, and
|
||
gas_target ic960coff.
|
||
* config/ic960coff.mt: New file.
|
||
* config/obj-coffbfd.h [TC_I960]: Include coff/i960.h.
|
||
(TARGET_FORMAT) [TC_I960]: Use coff-Intel-little.
|
||
* config/te-ic960.h (CROSS_COMPILE): Don't undef this. We'll
|
||
always build little-endian object files.
|
||
* config/tc-i960.c (md_reloc_size): Don't define at all if BFD or
|
||
BFD_ASSEMBLER is defined.
|
||
(mem_fmt): Since COFF doesn't handle callx relocations yet, treat
|
||
them like normal 32-bit relocations.
|
||
(md_apply_fix): For callx relocations, store zero.
|
||
(tc_bout_fix_to_chars): Store symbol index for all callx
|
||
relocations, regardless of link-relax setting.
|
||
(tc_coff_fix2rtype, tc_coff_sizemachdep): New functions.
|
||
(i960_handle_align) [! OBJ_BOUT]: If link-relax option is
|
||
selected, print an error message and clear it.
|
||
* config/tc-i960.h (BFD_ARCH, COFF_FLAGS, COFF_MAGIC,
|
||
TC_COUNT_RELOC, TC_COFF_FIX2RTYPE, TC_COFF_SIZEMACHDEP,
|
||
tc_fix_adjustable): New macros.
|
||
(tc_coff_fix2rtype, tc_coff_sizemachdep): Declare.
|
||
|
||
Fri Feb 25 20:56:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (hppa_tc_symbol): Call PA ELF BFD version.
|
||
(hppa_tc_make_sections): Likewise.
|
||
(pa_build_symextn_section): Delete unused function.
|
||
(hppa_tc_make_symextn_section): Likewise.
|
||
(pa_export): Delete call to pa_build_symextn_section.
|
||
|
||
* config/tc-hppa.h (hppa_tc_symbol): Add extern decl.
|
||
(elf_hppa_final_processing): Delete extern decl.
|
||
(hppa_tc_symbol): Delete extern decl.
|
||
|
||
Fri Feb 25 13:15:31 1994 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/obj-coffbfd.c (fill_section): Correct test for whether to
|
||
fill a section (from Minh Tran-Le <TRANLE@intellicorp.com>).
|
||
|
||
Thu Feb 24 11:30:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* configure.in: Don't require version number for i386-*-mach.
|
||
|
||
* read.c (potable): Added ".this_GCC_requires_the_GNU_assembler",
|
||
which is ignored by gas, but will cause other assemblers to choke.
|
||
Intended for use by gcc ports that require gas instead of native
|
||
assemblers.
|
||
|
||
Thu Feb 24 07:10:31 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/ho-hppaosf.h: Fix braino in test for ANSI-C.
|
||
|
||
Wed Feb 23 16:51:43 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* write.c (write_contents): Give the user a reasonable error
|
||
message rather than "assertion failed" if bfd_set_section_contents
|
||
fails.
|
||
|
||
Tue Feb 22 10:07:32 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
|
||
|
||
* config/ho-mach3.h: New file.
|
||
|
||
Mon Feb 21 11:41:18 1994 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* ecoff.c (ecoff_build_debug): Don't set hdr->magic here. It is
|
||
now set in bfd/ecofflink.c:ecoff_write_symhdr.
|
||
|
||
* config/obj-coffbfd.c (write_object_file): use bfd_get_error (),
|
||
not bfd_error.
|
||
* config/obj-elf.c (elf_frob_file): Likewise.
|
||
|
||
* read.c (s_lcomm): Use an alignment power of 3 for 8 byte .lcomm
|
||
variables.
|
||
|
||
* config/ho-hpux.h (BROKEN_ASSERT): Define if not __GNUC__.
|
||
|
||
* read.c (read_a_source_file): Use correct arguments to memcpy
|
||
(broken 19 Jul 1993). From kjd@pescadero.stanford.edu (Kenneth
|
||
Duda).
|
||
|
||
Sun Feb 20 18:01:54 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
|
||
|
||
* config/obj-coff.h (obj_coff_section): Declare.
|
||
* config/obj-coff.c (obj_pseudo_table): For "section", use
|
||
obj_coff_section.
|
||
(obj_coff_section): Rewrite.
|
||
|
||
Fri Feb 18 14:16:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* configure.in (i386-*-mach3*): New target; uses BFD.
|
||
* config/te-mach.h: New file.
|
||
* config/obj-aout.c (obj_aout_frob_file): New function.
|
||
* config/obj-aout.h (obj_aout_frob_file): Declare it.
|
||
(frob_file): New macro.
|
||
* config/tc-i386.c (md_apply_fix_1) [TE_Mach]: Don't adjust
|
||
pcrel32 relocations.
|
||
* config/tc-i386.h (TARGET_FORMAT) [TE_Mach]: Use a.out-mach3.
|
||
|
||
* write.c (write_object_file): Removed register declarations.
|
||
|
||
Thu Feb 17 16:25:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
Some support for PowerPC ELF.
|
||
* configure.in: If cpu is powerpc*, use ppc.
|
||
(ppc-*-sysv4*): Use object format elf.
|
||
* config/tc-ppc.h: Only declare a number of things if OBJ_COFF is
|
||
defined.
|
||
(TARGET_ARCH): Make it call ppc_arch.
|
||
(ppc_arch): Declare.
|
||
(TARGET_FORMAT): Set based on OBJ_COFF or OBJ_ELF.
|
||
(NO_STRING_ESCAPES): Define.
|
||
(LOCAL_LABEL, FAKE_LABEL_NAME): Define for OBJ_ELF.
|
||
* config/tc-ppc.c: Only define a number of functions of OBJ_COFF
|
||
is defined.
|
||
(md_pseudo_table): Most pseudo-ops are OBJ_COFF specific. Added
|
||
OBJ_COFF specific "bi" and "ei".
|
||
(md_parse_option): Fix handling of -u. Make -m601 set
|
||
PPC_OPCODE_601. If OBJ_ELF, accept -V and -Q.
|
||
(ppc_set_cpu): New function.
|
||
(ppc_arch): New function.
|
||
(md_begin): Call ppc_set_cpu.
|
||
(ppc_insert_operand): For a signed operand accept an unsigned
|
||
value, for IBM compatibility.
|
||
(ppc_byte): Don't call stringer for strings; instead, treat two
|
||
double quotes as a single double quote.
|
||
(ppc_comm): Set sy_tc.output for a .lcomm symbol.
|
||
(ppc_biei): New function.
|
||
(ppc_tc): If not OBJ_COFF, ignore first argument.
|
||
(ppc_fix_adjustable): Call as_bad_where, not as_bad.
|
||
(ppc_is_toc_sym): New function.
|
||
(md_apply_fix): Use ppc_is_toc_sym. Handle BFD_RELOC_16 and
|
||
BFD_RELOC_8.
|
||
|
||
Thu Feb 17 09:29:37 1994 David J. Mackenzie (djm@thepub.cygnus.com)
|
||
|
||
* messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_get_error and
|
||
bfd_set_error and new error names.
|
||
|
||
Tue Feb 15 20:23:20 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* configure.in: Support i960-vxworks versions > 5.0 as coff.
|
||
Default is still bout if no version is specified.
|
||
|
||
* atof-generic.c (atof_generic): Use switch and strcasecmp instead
|
||
of large number of compares when looking for inf/nan values.
|
||
|
||
Fri Feb 11 13:13:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (macro): Do unaligned loads and stores
|
||
correctly when big endian, and give errors on overflow rather than
|
||
generating incorrect code.
|
||
|
||
Thu Feb 10 11:24:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* as.c: Include libiberty.h.
|
||
|
||
* read.c (do_align): Don't define label just_record_alignment
|
||
unless it might be used.
|
||
|
||
* as.c (main): If md_parse_long_option is defined, call it with a
|
||
long option.
|
||
* config/tc-mips.h (md_parse_long_option): Define.
|
||
* config/tc-mips.c (mips_trap): New static variable.
|
||
(md_begin): Report an error if mips_trap is set at ISA level 1.
|
||
(macro): If mips_trap, use trap instructions instead of break
|
||
instructions for overflow and divide by zero detection.
|
||
(mips_parse_long_option): New function. Support --trap,
|
||
--no-break, --break and --no-trap.
|
||
* doc/as.texinfo: Document new options.
|
||
|
||
* read.c (potable): Add "zero".
|
||
* config/tc-i386.c (md_pseudo_table): Remove "zero".
|
||
* config/tc-m88k.c (md_pseudo_table): Likewise.
|
||
|
||
Thu Feb 10 01:24:27 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/tc-sparc.c (sparc_ip): Reject integer values for
|
||
pc-relative operand fields. This forces "call 0" to become "jmpl
|
||
%g0,%o7" with no relocations needed.
|
||
|
||
Wed Feb 9 13:08:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* as.h (xmalloc, xrealloc): Declare using PTR rather than char *.
|
||
* xmalloc.c (xmalloc, xrealloc): Use PTR rather than char *.
|
||
|
||
* app.c (do_scrub_next_char): If NO_STRING_ESCAPES is defined,
|
||
don't treat backslash specially inside strings.
|
||
* read.c (next_char_of_string): Likewise.
|
||
|
||
Wed Feb 9 09:42:45 1994 Stan Shebs (shebs@andros.cygnus.com)
|
||
|
||
* config/obj-coffbfd.c (obj_coff_init_stab_section): Use memset
|
||
instead of memcpy to zero the initial stab symbol, duh.
|
||
* config/obj-elf.c (obj_elf_init_stab_section): Ditto.
|
||
* config/obj-som.c (obj_som_init_stab_section): Ditto.
|
||
|
||
Tue Feb 8 17:25:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* write.c (fixup_segment): Use as_bad_where, not as_bad.
|
||
|
||
* subsegs.c (subseg_set_rest): Call memset with the arguments in
|
||
the right order. Explicitly clear fix_root and fix_tail fields.
|
||
|
||
Tue Feb 8 16:00:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/obj-coff.c (coff_frob_symbol): For abs_symbol, set *punt
|
||
and do nothing else.
|
||
|
||
* symbols.c (symbol_begin): Initialize value of abs_symbol
|
||
properly.
|
||
|
||
* write.c (adjust_reloc_syms): Use abs_symbol instead of calling
|
||
section_symbol.
|
||
|
||
* ecoff.c (ecoff_build_debug): Fix "/*" in comment to silence
|
||
complaint from "gcc -Wall".
|
||
|
||
* configure.in (alpha-*-netware*): New target, like alpha-*-osf*.
|
||
|
||
* config/tc-alpha.c (GP_ADJUSTMENT): Move definition to start of
|
||
file.
|
||
(tc_gen_reloc): Remove uninitialized variable `code', and code
|
||
that tried to use it (incorrectly). For LITERAL reloc, set addend
|
||
to negative of GP value.
|
||
(load_symbol_address): Don't adjust return value by GP_ADJUSTMENT.
|
||
|
||
* write.c (write_relocs): Print some sensible error message if
|
||
bfd_perform_relocation returns bfd_reloc_overflow.
|
||
|
||
Mon Feb 7 15:49:24 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* configure.in (hppa*-*elf*): New configuration for PA ELF.
|
||
(hppa*-*-osf*): Default object format is SOM.
|
||
|
||
Mon Feb 7 16:07:35 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/tc-alpha.c (md_atof): Warn that floating-point values
|
||
might not assemble properly.
|
||
|
||
* configure.in (target alpha-*-osf*): Don't set "dev=yes" any
|
||
more.
|
||
|
||
* config/tc-alpha.c (load_expression): Parenthesize operations in
|
||
range checking, to avoid precedence questions.
|
||
|
||
* config/tc-alpha.c (addr32): New static variable.
|
||
(md_parse_option): Set it for "-32addr".
|
||
(load_symbol_address): If addr32 is set, use ldl instead of ldq.
|
||
|
||
* atof-generic.c (atof_generic): Calculate maximum_useful_digits
|
||
and more_than_enough_bits_for_digits in integer arithmetic, to
|
||
eliminate the only sources of dependence on floating point
|
||
support, which doesn't work yet on the Alpha.
|
||
|
||
Mon Feb 7 03:56:05 1994 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* ecoff.c (ecoff_build_debug) [TC_ALPHA]: Specify version stamp as
|
||
0x30b for Alpha for now, until ".verstamp" is handled.
|
||
|
||
* literal.c (add_to_literal_pool): Use seginfo->frchainP, which
|
||
actually refers to the literal pool section, rather than
|
||
frchain_now, which refers to whatever section the assembler was
|
||
in.
|
||
|
||
* write.c (fixup_segment): Only do range checking if size of fixup
|
||
is smaller than word size. Otherwise, we always wind up with
|
||
zeros.
|
||
|
||
* config/tc-alpha.c (md_section_align): Change second argument and
|
||
return type to valueT, to agree with tc.h.
|
||
(alpha_do_align): Local static array nop_pattern is now unsigned
|
||
char, to avoid overflow warnings.
|
||
* config/tc-alpha.h (md_section_align): Delete declaration.
|
||
|
||
* config/obj-ecoff.c (ecoff_frob_file): Ensure that ecoff_data for
|
||
output bfd is non-null before indirecting through it.
|
||
|
||
* config/tc-alpha.c (alpha_frob_ecoff_data): Renamed from
|
||
alpha_frob_file.
|
||
* config/tc-alpha.h (tc_frob_file): Macro deleted.
|
||
* config/obj-ecoff.c (ecoff_frob_file) [TC_ALPHA]: Call
|
||
alpha_frob_ecoff_data, then fill in optional-header info with gp
|
||
value and register masks.
|
||
|
||
Sun Feb 6 16:13:47 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* configure.in (hiux): Fixes from m-kasahr@sramhc.sra.co.JP.
|
||
|
||
* config/obj-som.c (obj_som_init_stab_section): Same change
|
||
as coffbfd and elf below. Zero the initial stab symbol after
|
||
allocating it.
|
||
|
||
Sat Feb 5 12:30:32 1994 Stan Shebs (shebs@andros.cygnus.com)
|
||
|
||
* config/obj-coffbfd.c (obj_coff_init_stab_section): Zero the
|
||
initial stab symbol after allocating it.
|
||
* config/obj-elf.c (obj_elf_init_stab_section): Ditto.
|
||
|
||
Sat Feb 5 11:53:31 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_ip): addb[tf] should only accept
|
||
non-negated condition completers. Add support for addb pseudo-op
|
||
which accepts both negated and non-negated completers.
|
||
|
||
Sat Feb 5 00:15:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* configure.in (rs6000*): Use cpu_type ppc.
|
||
(ppc-*-aix*): New target; use coff and force bfd_gas.
|
||
* config/tc-ppc.h, config/tc-ppc.c: New files for PowerPC/POWER
|
||
(RS/6000) support. At the moment, only XCOFF is supported.
|
||
|
||
* config/obj-coff.c (SA_SET_SYM_ENDNDX): Made non-static.
|
||
(S_SET_DATA_TYPE): Likewise.
|
||
(coff_last_function): Renamed from local static last_functionP in
|
||
coff_frob_symbol and made externally visible.
|
||
(coff_frob_symbol): New local static set_end; use it to try to
|
||
avoid calling SA_SET_SYM_ENDNDX on a symbol that will be punted.
|
||
* config/obj-coff.h (S_SET_DATA_TYPE): Declare.
|
||
(SA_SET_SYM_ENDNDX): Declare.
|
||
(coff_last_function): Declare.
|
||
|
||
* expr.c (operand): If DOLLAR_DOT is defined, accept `$' as
|
||
equivalent to `.' to mean the current location.
|
||
|
||
* read.c (LEX_BR): If not defined, define as 0.
|
||
(lex_type): Use LEX_BR as the type of `{',`}',`[',`]'.
|
||
|
||
* symbols.c (symbol_new): If tc_canonicalize_symbol_name is
|
||
defined, call it with preserved_copy_of_name. If
|
||
tc_symbol_new_hook is defined, call it on the new symbol.
|
||
(symbol_find_base): If tc_canonicalize_symbol_name is defined,
|
||
call it on a copy of the name argument.
|
||
|
||
* write.c (write_object_file): Simplified usage of obj_frob_symbol
|
||
and tc_frob_symbol. Always call both if the symbol is going to be
|
||
output.
|
||
|
||
* write.c (relax_segment): Use %ld rather than %d when printing
|
||
fragP->fr_var, and cast it to long.
|
||
|
||
Changed relocs to be based on subsegments (when BFD_ASSEMBLER).
|
||
* subsegs.h (struct frchain): If BFD_ASSEMBLER, added new fields
|
||
fix_root and fix_tail.
|
||
(segment_info_type): If BFD_ASSEMBLER, don't define fix_tail
|
||
field.
|
||
* write.c (fix_new_internal): If BFD_ASSEMBLER, set fix_rootP and
|
||
fix_tailP based on frchain_now, not seg_info (now_seg).
|
||
(chain_frchains_together_1): Chain the subsegment relocs together.
|
||
* subsegs.c (subseg_change): Don't clear fix_tail field.
|
||
(subseg_get): Likewise.
|
||
* literal.c (add_to_literal_pool): Look through the relocs via
|
||
frchain_now, not seginfo.
|
||
|
||
Thu Feb 3 23:07:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Changed
|
||
ecoff_undefined to ecoff_extern_size.
|
||
* config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Likewise.
|
||
* config/tc-mips.c (s_extern): Set ecoff_extern_size to the
|
||
external symbol size, rathern than setting the symbol value.
|
||
(md_estimate_size_before_relax): Check both ecoff_extern_size and
|
||
symbol value to see if GP referencing can be used.
|
||
* ecoff.c (ecoff_symbol_new_hook): Clear ecoff_extern_size, not
|
||
ecoff_undefined.
|
||
(ecoff_frob_symbol): Don't check ecoff_undefined.
|
||
(ecoff_build_symbols): Get size of an undefined symbol from
|
||
sym->ecoff_extern_size, not S_GET_VALUE (sym).
|
||
|
||
Wed Feb 2 13:55:08 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* Makefile.in: Avoid bug in losing hpux sed.
|
||
|
||
Wed Feb 2 11:40:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (file_mips_isa): New static variable.
|
||
(md_begin): Set it.
|
||
(s_mipsset): Add support for .set mipN to set the ISA level.
|
||
|
||
* gasp.c (kinfo): Fully bracket initializer.
|
||
|
||
Tue Feb 1 19:28:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* gasp.c (malloc): Don't declare, since host.h or system header
|
||
files may declare it differently.
|
||
|
||
* config/atof-ieee.c (int_to_gen): Now static.
|
||
|
||
* config/ho-i386aix.h: Include sys/types.h and stdlib.h, not
|
||
ho-sysv.h. Based loosely on a patch from Minh Tran-Le.
|
||
|
||
Tue Feb 1 10:50:17 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
||
|
||
* gasp.c: Include host.h.
|
||
|
||
Tue Feb 1 12:13:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (mips_ip): Make an unsupported instruction a
|
||
warning, not an error.
|
||
|
||
* config/obj-coff.c (dot_text_symbol, dot_data_symbol,
|
||
dot_bss_symbol): Don't define if BFD_ASSEMBLER.
|
||
(obj_symbol_to_chars): bfd_coff_swap_aux_out now takes more
|
||
arguments.
|
||
(coff_line_base): Renamed from line_base. Changed all uses.
|
||
(coff_add_linesym): Renamed from add_line_sym. Made non-static.
|
||
Changed all uses.
|
||
* config/obj-coff.h: If TC_PPC, include coff/rs6000.h.
|
||
(S_SET_STORAGE_CLASS, S_GET_STORAGE_CLASS): Declare if
|
||
BFD_ASSEMBLER.
|
||
(coff_line_base): Declare.
|
||
(coff_add_linesym): Declare if BFD_ASSEMBLER.
|
||
* config/obj-coffbfd.c (symbol_to_chars): bfd_coff_swap_aux_out
|
||
now takes more arguments.
|
||
|
||
Mon Jan 31 17:55:14 1994 Stan Shebs (shebs@andros.cygnus.com)
|
||
|
||
* as.c (statistics_flag): Renamed from quiet_flag.
|
||
(main): Get statistics with --statistics instead of -noquiet.
|
||
|
||
Mon Jan 31 07:19:30 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
||
|
||
* Makefile.in: Support for Gnu ASsembler Preprocessor.
|
||
* gasp.c: New file.
|
||
* read.c (s_lcomm): Align lcomm data.
|
||
* config/tc-z8k.c (tc_reloc_mangle): Don't allow subtraction
|
||
from different sections.
|
||
|
||
Sun Jan 30 14:58:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* write.c (write_object_file): If tc_frob_file is defined, call it
|
||
just before calling obj_frob_file.
|
||
* config/tc-alpha.c (alpha_gp_value): Renamed from gp_value
|
||
(references changed), and made non-static.
|
||
(getExpression): Return void.
|
||
(select_gp_value): Abort if gp_value is non-zero. Delete call to
|
||
non-existent bfd_set_gp_value.
|
||
(alpha_validate_fix): Function deleted.
|
||
(alpha_frob_symbol): Function deleted.
|
||
(alpha_local_label): Function deleted.
|
||
(alpha_frob_file): Renamed from alpha_end.
|
||
* config/tc-alpha.h (alpha_frob_symbol, alpha_validate_fix,
|
||
alpha_local_label, alpha_end): Declarations deleted.
|
||
(alpha_gp_value, alpha_frob_file): Declare.
|
||
(tc_frob_symbol, TC_VALIDATE_FIX, md_end): Macros deleted.
|
||
(LOCAL_LABEL): Move code here from tc-alpha.c:alpha_local_label.
|
||
(md_convert_frag): Simplified slightly.
|
||
(tc_frob_file): New macro.
|
||
|
||
* read.c (do_align): New function, most of guts of s_align_*
|
||
functions. Look for md_do_align macro, give it a chance to bypass
|
||
all but recording of section alignment.
|
||
(s_align_bytes, s_align_ptwo): Call do_align.
|
||
(s_lcomm) [TC_ALPHA]: Align object to largest power of two that
|
||
divides object size.
|
||
|
||
* frags.c (frag_align_pattern): New function.
|
||
(frag_align): Rewrite for clarity.
|
||
|
||
* config/tc-vax.c (md_assemble): Handle O_constant expression.
|
||
(vip_begin): Returns pointer to const char. Cast hash_insert arg
|
||
to PTR to avoid compiler complaints about const.
|
||
(md_begin): Local variable errtxt must point to const.
|
||
|
||
* configure.in: Handle host vax-*-ultrix* like vax-*-bsd*. Don't
|
||
bother with *-*-ultrix or *-*-sysv*, except *-*-sysv, since only
|
||
the last has an existing host support file. Do handle vax-bsd and
|
||
vax-ultrix targets.
|
||
|
||
Fri Jan 28 11:26:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-coff.c (obj_coff_section_header_append): Do not
|
||
declare if BFD_ASSEMBLER.
|
||
(stack_pop): Correct test for stack underflow.
|
||
(obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size,
|
||
obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Declare
|
||
type of ignored argument to avoid gcc warning.
|
||
(align): Removed unused function.
|
||
|
||
Thu Jan 27 18:14:19 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/tc-alpha.c, config/tc-alpha.h, config/alpha-opcode.h: New
|
||
files, based on port of gas-1.38 contributed by CMU, using a.out
|
||
variant. Updated for gas-2.x and ECOFF. Floating-point constants
|
||
are still broken, bootstrap testing incomplete.
|
||
|
||
* literal.c: Comment changes.
|
||
|
||
* listing.c (listing_source_file): Check for null listing_tail
|
||
before indirecting through it.
|
||
|
||
* expr.h (struct expressionS): Added struct tag.
|
||
|
||
* as.h: If __GNUC__ and inline are both undefined, define inline
|
||
away.
|
||
|
||
* write.c (cvt_frag_to_fill): Don't assume that fr_var for
|
||
rs_align or rs_org frags will be 1.
|
||
(relax_segment): For rs_align, if fr_var is not 1, complain if
|
||
required padding is not a multiple of the size of the pad pattern.
|
||
(fixup_segment): Leave gp-relative relocations alone. For pcrel
|
||
relocations referring to the same segment, clear fx_pcrel when
|
||
clearing fx_addsy.
|
||
* as.h: Adjust comments on rs_align.
|
||
|
||
* atof-generic.c: Some reformatting.
|
||
(atof_generic): Be careful when mixing signed/unsigned values of
|
||
different sizes.
|
||
|
||
* write.c, config/obj-{aout,bout,coff*}.c, config/tc-sparc.c:
|
||
Query the fx_done field instead of fx_addsy to see if the fixup
|
||
still needs to be applied. Set fx_done and clear fx_addsy both,
|
||
for now. If TC_HANDLES_FX_DONE isn't defined, assume md_apply_fix
|
||
will only clear fx_addsy, and set fx_done accordingly after
|
||
returning.
|
||
* config/tc-sparc.h (TC_HANDLES_FX_DONE): Define.
|
||
* config/tc-sparc.c (md_apply_fix): Set fx_done for non-pcrel fix
|
||
with no fx_addsy.
|
||
|
||
* symbols.c (dot_text_symbol, dot_data_symbol, dot_bss_symbol):
|
||
Deleted.
|
||
(symbol_begin): Moved to end of file, so function inlining can
|
||
work better.
|
||
(fb_label_count, fb_label_max): Default C static initializers are
|
||
sufficient.
|
||
* symbols.h (dot_text_symbol, dot_data_symbol, dot_bss_symbol):
|
||
Declarations deleted.
|
||
* config/obj-coff.c (dot_text_symbol, dot_data_symbol,
|
||
dot_bss_symbol): Defined here, static.
|
||
|
||
* config/obj-aout.c [BFD_ASSEMBLER]: Undef NO_RELOC before
|
||
including aout/aout64.h.
|
||
|
||
* write.c (write_object_file): If EMIT_SECTION_SYMBOLS is false,
|
||
don't write out a section symbol even if it's used in a
|
||
relocation; assume relocations will handle section numbers
|
||
somehow. Rename "punt_it" label to "punt_it_if_unused" to reflect
|
||
it's true use.
|
||
(EMIT_SECTION_SYMBOLS): Default to 1.
|
||
(adjust_reloc_syms): Don't create a new symbol for an absolute
|
||
reference; just use the absolute section symbol.
|
||
(write_relocs): Make printout of reloc values dependent on flag
|
||
DEBUG3, not DEBUG2.
|
||
* config/obj-aout.h (EMIT_SECTION_SYMBOLS): Define as 0.
|
||
* config/obj-ecoff.h (EMIT_SECTION_SYMBOLS): Ditto.
|
||
|
||
Thu Jan 27 16:43:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* read.c (lex_type): No longer make '{' a valid character for
|
||
symbol names.
|
||
|
||
* as.c (main): Print long values using %ld.
|
||
|
||
* messages.c (as_warn_internal): New static function.
|
||
(as_warn, 3 versions): Use as_warn_internal.
|
||
(as_warn_where, 3 versions): New function.
|
||
* as.h (as_warn_where): Declare.
|
||
|
||
Tue Jan 25 18:30:34 1994 Stan Shebs (shebs@andros.cygnus.com)
|
||
|
||
* as.c (quiet_flag): New flag.
|
||
(main): If -noquiet given, display execution time and memory used.
|
||
|
||
Tue Jan 25 15:53:11 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* doc/{all.texi,as.texinfo}: Add documentation for HPPA port.
|
||
|
||
Mon Jan 24 19:18:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* ecoff.c (ecoff_frob_symbol): New function. Put undefined
|
||
symbols of known size in the undefined section. Put small common
|
||
symbols in a .scommon section.
|
||
* ecoff.h (ecoff_frob_symbol): Declare.
|
||
* config/obj-ecoff.h (obj_frob_symbol): Define.
|
||
* config/obj-elf.c (obj_elf_write_symbol_p, obj_elf_write_symbol,
|
||
obj_elf_frob_symbol): Removed unused functions.
|
||
* config/obj-elf.h (obj_frob_symbol, obj_write_symbol): Removed
|
||
unused macros.
|
||
(obj_elf_frob_symbol, obj_elf_write_symbol): Removed declarations
|
||
of unused functions.
|
||
(obj_frob_symbol): Define if ECOFF_DEBUGGING.
|
||
|
||
* config/tc-mips.c (g_switch_seen): New static variable.
|
||
(md_parse_option): Set g_switch_seen for -G option.
|
||
(s_option): If creating PIC code, force the GP size to be 0. Warn
|
||
if -G switch used with a non-zero value.
|
||
|
||
* symbols.c (S_IS_COMMON): Use bfd_is_com_section rather than
|
||
comparing against bfd_com_section.
|
||
|
||
Mon Jan 24 14:12:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* read.c (s_lcomm): Treat Alpha like MIPS in handling of .sbss
|
||
section.
|
||
|
||
Thu Jan 20 13:17:58 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* expr.c (operand): For floating point operand with unusual fp
|
||
char from FLT_CHARS, preserve the character. Patch from Lisa
|
||
Repka.
|
||
|
||
Wed Jan 19 23:15:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (md_pseudo_table): Add all data allocation
|
||
pseudo-ops: .hword, .int, .long, .octa, .quad, .short, .single.
|
||
|
||
Tue Jan 18 15:51:59 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
||
|
||
* config/obj-coffbfd.c (obj_coff_endef): For C_EFCN, C_BLOCK and
|
||
C_FCN assume .val has been set to .
|
||
|
||
Tue Jan 18 16:19:58 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c: Disable multiple $CODE$ subspace code. It
|
||
confuses GDB for some unknown reason.
|
||
* config/obj-som.c: Likewise.
|
||
|
||
Tue Jan 18 19:05:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* literal.c (add_to_literal_pool): Handle duplicates of values
|
||
already written to literal pool.
|
||
|
||
Tue Jan 18 17:23:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-aout.c (obj_aout_frob_symbol): Try to get symbols
|
||
with explicitly marked stabs through BFD: if a symbol marked
|
||
N_UNDF | N_EXT is in the absolute section, move it to the
|
||
undefined section; move a symbol marked N_INDR into
|
||
bfd_ind_section and set the BSF_INDIRECT flag; set the
|
||
BSF_WARNING flag for a symbol makred N_WARNING.
|
||
|
||
Mon Jan 17 15:40:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* ecoff.h (ecoff_set_gp_prolog_size): Declare.
|
||
* ecoff.c (ecoff_set_gp_prolog_size): Return type is void.
|
||
|
||
Mon Jan 17 00:18:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_ip): Explicitly check for comma before 'u'
|
||
and 'f' template operand.
|
||
|
||
* config/tc-hppa.c (pa_ip): Handle 'N', 'O', 'o', '0', '1', 'u',
|
||
and '2' in copr and sfu instruction templates.
|
||
|
||
Sun Jan 16 16:44:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* as.h (subseg_force_new): Add prototype.
|
||
|
||
Sat Jan 15 09:20:55 1994 Doug Evans (dje@canuck.cygnus.com)
|
||
|
||
* app.c (do_scrub_next_char): Allow lines like " foolab :".
|
||
|
||
* read.c (emit_expr): Fix computation of mask.
|
||
* config/obj-elf.c (obj_elf_section): Fix loop termination test.
|
||
|
||
Thu Jan 13 16:15:15 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* ecoff.c (ecoff_set_gp_prolog_size): New function.
|
||
(current_file_idx): New static variable.
|
||
(add_file): Use and increment current_file_idx instead of indx
|
||
parameter.
|
||
|
||
* struc-symbol.h (struct symbol): Make all bitfields unsigned.
|
||
|
||
* config/tc-i960.c (i960_validate_fix): Added argument
|
||
add_symbolPP. Indirect through it to get "add_symbolP".
|
||
* config/tc-i960.h (i960_validate_fix): Supply prototype.
|
||
(TC_VALIDATE_FIX): Pass address of add_symbolP.
|
||
|
||
* configure.in (i386-*-netbsd*): New target, using te-netbsd.h.
|
||
(i386-*-netbsd0.8): New target, like 386bsd.
|
||
|
||
* configure.in: Set BFDDEF in Makefile to "define" or "undef".
|
||
* Makefile.in (config.h): Protect against multiple inclusions.
|
||
Define or undef BFD_ASSEMBLER as specified by $(BFDDEF).
|
||
(ALL_CFLAGS): Omit $(BFDDEF).
|
||
* as.h: Include config.h.
|
||
(struct symbol): Added forward declaration.
|
||
(add_to_literal_pool): Fix declaration.
|
||
* as.c: Don't include config.h.
|
||
|
||
* literal.c (add_to_literal_pool): Take symbol and addend as
|
||
arguments, instead of expression, for now. Fix calculation of
|
||
offset to return.
|
||
|
||
* subsegs.h (segment_info_type) [NEED_LITERAL_POOL]: Add field
|
||
literal_pool_size.
|
||
|
||
Thu Jan 13 12:14:21 1994 Jeffrey A. Law (law@snake.cs.utah.edu
|
||
|
||
* subsegs.c (subseg_get): Accept new argument "force_new". If
|
||
set then a new segment is always created. All callers changed.
|
||
(subseg_force_new): New function. Similar to subseg_new, but
|
||
always force a new segment to be created.
|
||
|
||
* config/obj-som.c (som_frob_file): Call adjust_code_sections
|
||
for each section.
|
||
(adjust_code_sections): New function. Adjusts the VMA for all the
|
||
$CODE$ subspaces.
|
||
|
||
* config/tc-hppa.c (md_assemble): Also handle creating a fixup
|
||
for the unwind descriptors if a function's label follows the
|
||
.PROC and .ENTRY directives.
|
||
(pa_entry): Don't set BSF_FUNCTION for the label symbol here; it
|
||
is done elsewhere. Don't create a fixup for the unwind
|
||
descriptors if the function's label has not been defined yet.
|
||
(pa_proc): For SOM, place each procedure within a new $CODE$
|
||
subspace. Adjust the segment and frag for the associated
|
||
function label if it exists.
|
||
|
||
Wed Jan 12 22:05:33 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (hppa_fix_struct): Add new "segment" field.
|
||
(hppa_fix_new): Initialize segment field.
|
||
(md_apply_fix): Do nothing for pc-relative fixup which involves
|
||
crossing a segment boundary.
|
||
(pa_procend): Undefine the current label after handling .PROC
|
||
and .PROCEND directives.
|
||
(dummy_symbol): Make type "symbolS *". Change references as
|
||
appropriate.
|
||
|
||
Wed Jan 12 13:29:31 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* read.c (read_a_source_file): Cast array argument to unsigned
|
||
char.
|
||
* write.c (adjust_reloc_syms): Remove unused variable symseginfo.
|
||
(write_object_file): Don't define punt_it if it won't be used.
|
||
(fixup_segment): Don't define skip if it won't be used.
|
||
|
||
* config/tc-mips.h (TARGET_FORMAT): Define as mips_target_format.
|
||
(mips_target_format): Declare.
|
||
* config/tc-mips.c (mips_target_format): Define with appropriate
|
||
default definition.
|
||
(md_parse_option): If -EL or -EB is used, change byte_order and
|
||
mips_target_format as appropriate.
|
||
|
||
Tue Jan 11 21:52:36 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* app.c (do_scrub_next_char): Another attempt to fix bugs
|
||
dealing with labels without colons (for HPPA and MRI).
|
||
|
||
Tue Jan 11 17:01:06 1994 Doug Evans (dje@canuck.cygnus.com)
|
||
|
||
* config/tc-sparc.c (sparc_ip): Truncate args to %hi/%lo to 32 bits.
|
||
|
||
* expr.c (integer_constant): Fix computation of too_many_digits.
|
||
Variable digit_2 renamed to start. Fix check for whether number
|
||
will fit in 32 bits.
|
||
* read.c (emit_expr): Use valueT instead of long.
|
||
|
||
Tue Jan 11 13:01:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-elf.c: If TC_MIPS, include elf/mips.h.
|
||
(special_sections): Define.
|
||
(obj_elf_special_section): Get default types and attributes from
|
||
list of special sections.
|
||
* config/tc-mips.c (ELF_TC_SPECIAL_SECTIONS): Define.
|
||
|
||
* config/obj-ecoff.c (ecoff_frob_file): Force .sdata and .sbss
|
||
sections to be close together.
|
||
|
||
* config/tc-mips.c (macro): Corrected $at warnings in a couple of
|
||
spots.
|
||
|
||
* listing.c (listing_prev_line): New function.
|
||
* listing.c: Include subsegs.h.
|
||
(listing_prev_line): New function.
|
||
(calc_hex): Reset byte_in_frag to zero for each new frag.
|
||
* config/tc-mips.c (append_insn): Call listing_prev_line after
|
||
emitting nop instructions.
|
||
* Makefile.in (listing.o): Depends upon subsegs.h.
|
||
|
||
Mon Jan 10 09:52:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_ip): Put check for missing label on .PROC
|
||
here. Handle case where label may be defined after the .PROC.
|
||
(pa_proc): It is not an error if the procedure's label isn't
|
||
defined before the .PROC directive.
|
||
|
||
Sun Jan 9 04:43:30 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
||
|
||
* config/te-netbsd.h: New file.
|
||
* config/tc-i386.h (TARGET_FORMAT) [TE_NetBSD]: Use bfd target
|
||
a.out-netbsd-386 for this configuration.
|
||
|
||
Fri Jan 7 17:38:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* ecoff.c (ecoff_stab): Don't clobber the ECOFF symbol information
|
||
with the associated stabs information.
|
||
(ecoff_build_symbols): Never set the type of stabs symbols to
|
||
st_Global. Don't update the symbol index or ifd if the gas symbol
|
||
is not the same as the ECOFF symbol (which is now the case for
|
||
stabs symbols).
|
||
|
||
Fri Jan 7 11:14:07 1994 Stan Shebs (shebs@andros.cygnus.com)
|
||
|
||
* config/tc-mips.c (macro): Add a LOSING_COMPILER ifdef that
|
||
splits the function.
|
||
(macro2): New function, if LOSING_COMPILER defined.
|
||
|
||
Fri Jan 7 09:38:25 1994 Steve Chamberlain (sac@cygnus.com)
|
||
|
||
* config/obj-coffbfd.c (fill_section): Don't ever fill past the
|
||
end of a section. (write_object_file): Temporary fix - setup
|
||
stdoutput.
|
||
|
||
Thu Jan 6 18:05:21 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/tc-sparc.c (tc_gen_reloc): Fix handling of addends in
|
||
non-pcrel_offset relocations.
|
||
|
||
Thu Jan 6 01:06:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (mips_ip): Warn about using $1 as well as $at
|
||
without .set noat.
|
||
|
||
Wed Jan 5 14:22:22 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* literal.c: New file.
|
||
* Makefile.in (REAL_SOURCES, OBJS): List it.
|
||
|
||
* as.h (DEBUG): Don't define.
|
||
(struct expressionS, struct fix): Declare in case they're used in
|
||
prototypes.
|
||
(add_to_literal_pool) [BFD_ASSEMBLER]: Declare.
|
||
|
||
* config/tc-mips.h (TARGET_FORMAT) [OBJ_AOUT]: Fix for new names
|
||
in bfd.
|
||
|
||
* subsegs.c (subseg_get): New function. Creates segment if
|
||
needed, returns pointer, but doesn't change current segment.
|
||
(subseg_new): Use it.
|
||
|
||
Tue Jan 4 15:12:43 1994 Stan Shebs (shebs@andros.cygnus.com)
|
||
|
||
* Makefile.in (INCLUDES): Add $(srcdir)/.. to places to search.
|
||
* config/obj-ecoff.c: Include files as "bfd/" instead of "../bfd/".
|
||
* app.c, flonum.h, hex-value.c (const): Change #if to be more
|
||
portable.
|
||
|
||
Tue Jan 4 22:11:34 1994 Rob Savoye (rob@darkstar.cygnus.com)
|
||
|
||
* config/ho-vsta.h, configure.in: Add support for VSTa
|
||
micro-kernel.
|
||
|
||
Thu Dec 30 15:27:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* write.c (write_relocs): bfd_perform_relocation now takes an
|
||
additional argument, to return an error string (which we ignore).
|
||
|
||
Wed Dec 29 14:37:26 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* write.h (struct fix): Field tc_fix_data should be type PTR, not
|
||
void*, for compatibility with non-ANSI compilers. Added
|
||
single-bit field "fx_done".
|
||
|
||
Sun Dec 26 14:31:47 1993 Torbjorn Granlund (tege@adder.cygnus.com)
|
||
|
||
* config/tc-hppa.c (pre_defined_registers): Convert to lower case.
|
||
Delete spurious register names "%r4L", etc.
|
||
(selector_table): Sort and convert to lower case.
|
||
(cons_fix_new_hppa): `reloc_type' => `rel_type'.
|
||
(pa_ip): Always use strcmp for non-text and strcasecmp for text.
|
||
(reg_name_search): Rewrite to call strcasecmp only once per
|
||
iteration.
|
||
(pa_chk_field_selector): Rewrite to use binary search.
|
||
(pa_parse_neg_add_cmpltr): Use strcasecmp for completer comparisons.
|
||
(pa_parse_space_stmt): $TEXT$ and $PRIVATE$ are symbols; use case
|
||
sensitive comparisons.
|
||
(pa_parse_space_stmt): Canonicalize strncasecmp arg to lower case.
|
||
(pa_space): "$text$" => "$TEXT$"; "$private$" => "$PRIVATE$". Use
|
||
case sensitive comparison for all symbolic names.
|
||
(pa_subspace): Canonicalize strncasecmp arg to lower case.
|
||
(pa_subspace_start): Use case sensitive comparison for symbolic names.
|
||
|
||
Mon Dec 20 10:37:48 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* 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, for OBJ_COFF.
|
||
|
||
* symbols.c (S_IS_EXTERNAL, S_IS_LOCAL): Don't use both BSF_EXPORT
|
||
and BSF_GLOBAL, since they're the same.
|
||
|
||
* 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.
|
||
|
||
* config/obj-coff.c (obj_coff_dim, obj_coff_endef, obj_coff_line,
|
||
obj_coff_scl, obj_coff_size, obj_coff_tag, obj_coff_type,
|
||
obj_coff_val): Add unused int argument to satisfy prototypes; goes
|
||
with Ian's 10 Sep changes.
|
||
(S_GET_DATA_TYPE, S_SET_DATA_TYPE, S_GET_STORAGE_CLASS,
|
||
S_SET_STORAGE_CLASS): Now function instead of macros.
|
||
(obj_emit_lineno) [BFD_ASSEMBLER]: Deleted.
|
||
(tag_insert): Local var ERROR_STRING is const. Use "const" not
|
||
"CONST" for argument NAME. Fixed prototype.
|
||
(coff_frob_symbol): Removed explicit "#if 1" directive. If
|
||
S_IS_EXTERNAL, set storage class to C_EXT.
|
||
(s_get_name): Use "const" not "CONST".
|
||
* config/obj-coff.h (S_GET_DATA_TYPE, S_SET_DATA_TYPE,
|
||
S_GET_STORAGE_CLASS, S_SET_STORAGE_CLASS): Deleted.
|
||
(obj_emit_lineno): Declare only for non-BFD_ASSEMBLER. For
|
||
BFD_ASSEMBLER, define as macro that aborts.
|
||
(obj_extra_stuff, tc_headers_hook): Declare only for
|
||
non-BFD_ASSEMBLER.
|
||
(coff_frob_symbol): Fix prototype.
|
||
|
||
Sun Dec 19 00:37:20 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-sparc.c (tc_gen_reloc): Test of pcrel_offset had sense
|
||
reversed.
|
||
|
||
Thu Dec 16 21:13:11 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* 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.
|
||
|
||
Thu Dec 16 16:07:56 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* read.c (lex_type): No longer make '[' a valid character for
|
||
symbol names.
|
||
|
||
* 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.
|
||
|
||
* subsegs.c (section_symbol): New function.
|
||
* subsegs.h (section_symbol): Declare.
|
||
* write.c (adjust_reloc_syms): Use it.
|
||
|
||
Wed Dec 15 15:39:53 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* Makefile.in (RUNTEST): New variable.
|
||
(CHECKFLAGS): Pass it down.
|
||
|
||
* ecoff.c (ecoff_directive_frame): Permit extra trailing operands;
|
||
unused for now, but supplied by Alpha OSF1 compiler.
|
||
|
||
* as.h: Protect against multiple inclusions.
|
||
(int_to_gen): Don't declare.
|
||
|
||
* config/atof-vax.c (atof_vax): NULL is not a valid character
|
||
constant.
|
||
|
||
Tue Dec 14 21:38:25 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* configure.in (hppa*-*-osf*): Do not consider this a developmental
|
||
configuration.
|
||
|
||
* config/tc-hppa.c (md_apply_fix): Handle cases where no
|
||
relocation will be emitted for 32bit formats.
|
||
|
||
Mon Dec 13 23:33:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (md_apply_fix): Do not call hppa_field_adjust
|
||
for any of the 'T' field selectors.
|
||
|
||
Sat Dec 11 11:23:12 1993 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* 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.
|
||
|
||
Wed Dec 8 16:31:51 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
|
||
|
||
* write.c (number_to_chars_*): Delete bogus range check.
|
||
|
||
* output-file.c (TARGET_ARCH): No default.
|
||
|
||
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.
|
||
|
||
Mon Dec 6 11:49:03 1993 Doug Evans (dje@canuck.cygnus.com)
|
||
|
||
* config/tc-h8300.c (md_assemble): Don't update input_line_pointer.
|
||
|
||
Mon Dec 6 11:20:02 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* 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.
|
||
|
||
Sun Dec 5 17:05:29 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* 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.
|
||
|
||
* 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.
|
||
|
||
* 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.
|
||
|
||
* config/tc-hppa.c (evaluate_absolute): Support e_rrsel and
|
||
e_rlsel field selectors.
|
||
|
||
Fri Dec 3 18:33:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-elf.h: If ECOFF_DEBUGGING, undef
|
||
SEPARATE_STAB_SECTIONS and INIT_STAB_SECTION, and define
|
||
OBJ_PROCESS_STAB to call ecoff_stab.
|
||
* config/obj-elf.c: Don't compile obj_elf_init_stab_section if
|
||
INIT_STAB_SECTION is not defined.
|
||
|
||
Fri Dec 3 10:56:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* 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.
|
||
|
||
Fri Dec 3 09:47:30 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
|
||
|
||
* config/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.
|
||
|
||
Thu Dec 2 11:52:21 1993 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* 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.
|
||
|
||
* configure.in: Handle target alpha-*-osf*. (No cpu files yet.)
|
||
|
||
Wed Dec 1 23:37:14 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* Makefile (clean): Depend on clean-here.
|
||
|
||
Wed Dec 1 11:35:21 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||
|
||
* config/ho-go32.h: Include fopen-bin.h.
|
||
* as.h: If FOPEN_WB isn't defined, include fopen-same.h.
|
||
* output-file.c (output_file_create): Use FOPEN_WB instead of "w".
|
||
* input-file.c (input_file_open): Use FOPEN_RT instead of "r".
|
||
* listing.c (file_info): Use FOPEN_RB instead of "rb".
|
||
* read.c (s_include): Use FOPEN_RT instead of "r".
|
||
|
||
* stabs.c: Include obstack.h.
|
||
|
||
* tc.h (md_create_long_jump): Don't declare if it's already
|
||
defined as a macro.
|
||
(md_create_short_jump, md_estimate_size_before_relax): Ditto.
|
||
|
||
* messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_errmsg instead
|
||
of strerror. Clear bfd_error.
|
||
|
||
* config/te-lynx.h (LOCAL_LABELS_FB): Define, if not already
|
||
defined.
|
||
|
||
Wed Dec 1 10:41:56 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (hppa_elf_mark_end_of_function): New function.
|
||
(pa_process_exit, pa_procend): Call it for ELF objects.
|
||
|
||
Wed Dec 1 12:10:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (macro): Subtract 8 from offset in non PIC l.d
|
||
case. See comment. From wilson@cygnus.com: for M_L_DAB, set
|
||
coproc before doing goto ld.
|
||
|
||
Tue Nov 30 13:40:30 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* 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.
|
||
|
||
Tue Nov 30 11:21:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* Makefile.in (stabs.o): Added dependencies.
|
||
|
||
* config/obj-ecoff.c (ecoff_frob_file): Don't call bfd_set_symtab.
|
||
|
||
Sun Nov 28 12:11:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* app.c (do_scrub_next_char): Output a TAB before any
|
||
.app* directive.
|
||
|
||
* 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.
|
||
|
||
Sat Nov 27 22:49:07 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* read.c (read_a_source_file): Fix test for when to stick a colon
|
||
on the end of a label. Make code conditional on either MRI or
|
||
LABELS_WITHOUT_COLONS.
|
||
|
||
* app.c (do_scrub_next_char): If a line begins with whitespace, leave
|
||
the single whitespace character alone. Eat all others.
|
||
|
||
* config/tc-hppa.h (LABELS_WITHOUT_COLONS): Define.
|
||
|
||
Wed Nov 24 01:22:54 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_procend): Do not call process_exit.
|
||
(exit_processing_complete): Delete unwanted variable and all
|
||
references.
|
||
|
||
Wed Nov 24 02:31:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* ecoff.c (ecoff_setup_ext): Renamed from ecoff_build_ext.
|
||
Changed to not actually build the external symbol information, as
|
||
that is now done by the ECOFF back end.
|
||
(ecoff_build_debug): Changed accordingly.
|
||
* ecoff.h (obj_ecoff_set_ext): Declare. obj-format.c function
|
||
called by ecoff_setup_ext.
|
||
* config/obj-ecoff.c (ecoff_frob_file): If debug_info count is 0,
|
||
set corresponding pointer to NULL. Don't set raw_size and
|
||
raw_syments.
|
||
(obj_ecoff_set_sym_index): Removed.
|
||
(obj_ecoff_set_ext): New function.
|
||
* config/obj-ecoff.h (obj_set_sym_index): Don't define.
|
||
(obj_ecoff_set_sym_index): Don't declare.
|
||
* config/obj-elf.c (obj_ecoff_set_ext, elf_get_extr,
|
||
elf_set_index): New functions used for ECOFF_DEBUGGING.
|
||
(elf_frob_file): Reworked ECOFF debug generation to use
|
||
new functions in bfd/ecofflink.c.
|
||
|
||
Sun Nov 21 23:54:52 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_def_subspaces): Only create the unwind
|
||
subspace for ELF. In the SOM world, the linker is responsible
|
||
for creating the unwind subspaces.
|
||
|
||
Fri Nov 19 16:25:09 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-coffbfd.c: Use PARAMS rather than EXFUN.
|
||
(yank_symbols): Don't call S_SET_EXTERNAL if the storage class is
|
||
already set. Fixes .def var; .val external_var; .scl 3; .endef.
|
||
(adjust_stab_section): Make static. Declare return type. Remove
|
||
unused variables.
|
||
|
||
* config/tc-i386.h: Declare tc_coff_fix2rtype and
|
||
tc_coff_sizemachdep.
|
||
|
||
Fri Nov 19 04:33:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* write.c (write_object_file): Disable obj_check_file_symbols
|
||
hook; only back end using it wasn't using it correctly.
|
||
(write_object_file): Always call obj_frob_symbol and
|
||
tc_frob_symbol; always retain symbol if it's used by a relocation,
|
||
regardless of what these routines indicate.
|
||
* config/obj-coff.c (coff_frob_symbol): Renamed from
|
||
coff_check_file_symbols.
|
||
* config/obj-coff.h (obj_check_file_symbols): Deleted.
|
||
(coff_frob_symbol): Declare.
|
||
(obj_frob_symbol): Call it.
|
||
|
||
* config/obj-coff.c (obj_crawl_symbol_chain, obj_emit_strings,
|
||
obj_pre_write_hook): Don't define for BFD_ASSEMBLER.
|
||
(c_section_header): Ditto. Delete superfluous return at end of
|
||
function.
|
||
|
||
* config/obj-coff.h [TC_SPARC]: Include coff/sparc.h, and specify
|
||
coff-sparc-lynx.
|
||
(SA_GET_SYM_TAGNDX): Use BFD_HEADERS version for BFD_ASSEMBLER
|
||
too.
|
||
(c_section_header): Rewrite prototype so that it contains no
|
||
preprocessing directives. Don't declare it at all if
|
||
BFD_ASSEMBLER.
|
||
|
||
* configure.in (sparc*-*-lynxos): New target, using coff and
|
||
BFD_ASSEMBLER.
|
||
|
||
* stabs.c: New file.
|
||
* Makefile.in (REAL_SOURCES, OBJS): List it.
|
||
* read.c (STAB_SECTION_NAME, STAB_STRING_SECTION_NAME,
|
||
get_stab_string_offset, s_stab_generic, s_stab, s_xstab, s_desc):
|
||
Moved to new file.
|
||
|
||
* config/tc-sparc.c (tc_gen_reloc): Handle coff files like elf
|
||
files.
|
||
|
||
Wed Nov 17 17:23:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* configure.in (mips-*-irix5*): New target. Use elf and mips-big.
|
||
* config/obj-elf.c: If ECOFF_DEBUGGING, include ecoff.h.
|
||
(obj_pseudo_table): If ECOFF_DEBUGGING, define ECOFF
|
||
pseudo-ops.
|
||
(obj_read_begin_hook): If ECOFF_DEBUGGING, call
|
||
ecoff_read_begin_hook.
|
||
(obj_symbol_new_hook): If ECOFF_DEBUGGING, call
|
||
ecoff_symbol_new_hook.
|
||
(obj_elf_init_stab_section): Cast alloca result.
|
||
(elf_frob_file): If ECOFF_DEBUGGING, finish up ECOFF debugging
|
||
information and write it out into .mdebug section.
|
||
* config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): New macro.
|
||
(TARGET_SYMBOL_FIELDS): Use ELF_TARGET_SYMBOL_FIELDS.
|
||
(ECOFF_DEBUGGING): Define if TC_MIPS.
|
||
(TARGET_SYMBOL_FIELDS): If ECOFF_DEBUGGING, override to add
|
||
fields required by ECOFF.
|
||
* config/tc-mips.c: Check ECOFF_DEBUGGING rather than
|
||
OBJ_ECOFF in many cases.
|
||
(mips_any_noreorder): New variable.
|
||
(mips_cprestore_offset): Initialize to -1.
|
||
(mips_frame_reg): New variable.
|
||
(RELAX_ENCODE, RELAX_OLD, RELAX_NEW, RELAX_RELOC1,
|
||
RELAX_RELOC2, RELAX_RELOC3, RELAX_WARN): New macros.
|
||
(md_pseudo_table): Handle "gpword" and "cpadd".
|
||
(md_begin): Initialize ok to false. If OBJ_ELF, set alignment
|
||
of text, data and bss sections to 4. Set alignment of
|
||
.reginfo section to 2. If ECOFF_DEBUGGING, create .mdebug
|
||
section.
|
||
(ALIGN_ERR, ALIGN_ERR2): Removed unused and useless alignment
|
||
check.
|
||
(append_insn, macro_build, macro_build_lui): Take place
|
||
argument. Changed all callers.
|
||
(append_insn): If appending a nop, don't emit one.
|
||
(macro_build): Changed assertion for 'i', 'j', 'o' case.
|
||
(gp_reference): Removed.
|
||
(load_address): New function.
|
||
(macro): If mips_noreorder is used, set mips_any_noreorder.
|
||
Extensive changes to handle GP and PIC symbols differently.
|
||
Build both possible code choices using a variant frag, and
|
||
make a final decision at the end of assembly when all
|
||
information is known. Added PIC support for all symbol
|
||
references.
|
||
(mips_ip): Don't permit anything but a number after $ for a
|
||
coprocessor register. Don't use .lit4 or .lit8 sections when
|
||
generating PIC code. If OBJ_ELF, set alignment of .lit4 or
|
||
.lit8 section to 4.
|
||
(md_apply_fix): Accept and ignore GOT16 and GPREL32 relocs.
|
||
(s_change_sec): Set alignment of ELF .rodata or .sdata section
|
||
to 4.
|
||
(s_mipsset): If .set noreorder, set mips_any_noreorder.
|
||
(s_cpload): Ignore .cpload if not generating PIC code. Warn
|
||
if .cpload is not in noreorder section.
|
||
(s_cprestore): Ignore .cprestore if not generating PIC code.
|
||
(s_gpword, s_cpadd): New functions.
|
||
(tc_get_register): Added frame argument; if true, set
|
||
mips_frame_reg to return value. Changed all callers.
|
||
(md_estimate_size_before_relax): Don't error out, but instead
|
||
determine how much a frag should grow.
|
||
(tc_gen_reloc): Return multiple relocs if appropriate, as
|
||
determined by md_estimate_size_before_relax.
|
||
(md_convert_frag): New function.
|
||
(mips_elf_final_processing): Set ELF header flags based on
|
||
mips_any_noreorder and mips_pic.
|
||
* config/tc-mips.h (RELOC_EXPANSION_POSSIBLE): Define.
|
||
(MAX_RELOC_EXPANSION): Define to be 3.
|
||
(md_relax_frag): Define to be 0.
|
||
(md_convert_frag): Don't define.
|
||
(tc_get_register): Changed declaration.
|
||
|
||
* ecoff.h, ecoff.c: New files pulled out of config/obj-ecoff.c to
|
||
support generating ECOFF debugging information for MIPS ELF
|
||
targets. Compiled only if ECOFF_DEBUGGING is defined. Changed
|
||
handling of external symbols: it now always generates exactly
|
||
those external symbols that are defined in the global symbol list.
|
||
* Makefile.in (REAL_SOURCES): Added ecoff.c.
|
||
(REAL_HEADERS): Added ecoff.h.
|
||
(OBJS): Added ecoff.o.
|
||
(ecoff.o): New target.
|
||
* config/obj-ecoff.c: Almost entirely moved into ecoff.c.
|
||
Remaining code mostly just calls ecoff.c code.
|
||
* config/obj-ecoff.h: Define ECOFF_DEBUGGING.
|
||
(TARGET_SYMBOL_FIELDS): Make ecoff_symbol a pointer to a
|
||
struct localsym.
|
||
(obj_read_begin_hook, obj_symbol_new_hook): Define to call
|
||
functions in ecoff.c.
|
||
(ecoff_stab): Don't declare (now declared in ecoff.h).
|
||
(obj_set_sym_index): Define.
|
||
(obj_ecoff_set_sym_index): Declare.
|
||
|
||
* frags.h (frag_grow): Declare.
|
||
* frags.c (frag_grow): Made non-static.
|
||
|
||
* write.c (is_dnrange): Do not define if md_relax_frag is defined.
|
||
(relax_segment): If md_relax_frag is defined, use it to handle a
|
||
frag of type rs_machine_dependent rather than looking through
|
||
md_relax_table.
|
||
|
||
* read.c (read_a_source_file): If we find a bad pseudo-op,
|
||
do a continue to go on to the next line rather than a break.
|
||
Removed duplicate bad pseudo-op code which was never executed.
|
||
|
||
* read.c (s_lcomm): Do not require a comma after the name.
|
||
|
||
* subsegs.h (segment_info_type): Changed hadone field to bitfield.
|
||
Added bss bitfield.
|
||
* as.c (perform_an_assembly_pass): Set bss flag for bss_section.
|
||
* read.c (s_lcomm): Set bss flag for .sbss section if used.
|
||
* write.c (relax_and_size_seg): Don't set SEC_HAS_CONTENTS for a
|
||
bss section. Set SEC_RELOC if there are any relocations, even for
|
||
a zero size section.
|
||
|
||
* write.c (write_relocs): In RELOC_EXPANSION_POSSIBLE case, base
|
||
data offset on reloc[0]->address rather than reloc[j]->address, so
|
||
that multiple relocs can affect different memory locations.
|
||
|
||
* write.c (chain_frchains_together, relax_and_size_seg,
|
||
adjust_reloc_syms, write_relocs): Make third argument PTR, not
|
||
char *, to match definition of bfd_map_over_sections.
|
||
|
||
* app.c (do_scrub_next_char): Don't interpret a comment character
|
||
as starting a CPP line directive unless it is a '#' and is the
|
||
very first characters on the line (i.e., do not permit leading
|
||
whitespace).
|
||
|
||
* messages.c (identify): Make file argument non-const, to match
|
||
callers.
|
||
|
||
Tue Nov 16 20:38:21 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_ip): Fix thinko in 21bit range check.
|
||
|
||
Sat Nov 13 18:22:48 1993 Steve Chamberlain (sac@jonny.cygnus.com)
|
||
|
||
* config/tc-sh.c (md_apply_fix): Cope with IMM16 type too.
|
||
* config/tc-z8k.c (build_bytes, md_apply_fix): Understand nDISP7
|
||
relocs.
|
||
|
||
Fri Nov 12 16:51:47 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.[ch]: Fix assorted trivial indention problems.
|
||
* config/obj-som.c (obj_som_version): Add missing ';'.
|
||
(som_frob_file): Delete whitespace at EOL.
|
||
|
||
Fri Nov 12 15:26:21 1993 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* Makefile.in (VERSION): Updated following 2.2 release.
|
||
|
||
Fri Nov 12 14:52:17 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (hppa_fix_struct): Use a real type for the
|
||
field selector, rather than an int. All uses of field selectors
|
||
fixed.
|
||
(tc_gen_reloc): For SOM PLABELs, always set addend to zero for now.
|
||
(md_apply_fix_1): Do not call hppa_field_adjust for any PLABEL
|
||
field.
|
||
|
||
Thu Nov 11 15:49:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (pa_type_args): For .import statements,
|
||
silently ignore attempt to change the symbol type for a function
|
||
from ST_ENTRY to ST_CODE on .import.
|
||
|
||
Wed Nov 10 16:19:13 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* write.h (fixS): Rename fx_callj field to fx_tcbit.
|
||
* write.c, config/obj-coff.c, config/obj-coffbfd.c,
|
||
config/tc-i960.c: Corresponding changes.
|
||
|
||
Tue Nov 9 00:49:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* Makefile.in (distclean): Delete config-stamp and config.h
|
||
|
||
* config/tc-hppa.c (evaluate_absolute): Avoid relying on
|
||
ANSI-C features.
|
||
|
||
* config/tc-hppa.c (pa_type_args): Renamed from pa_export_args.
|
||
Accept new argument "is_export". All callers changed. When
|
||
processing a .export directive for a function, do not allow
|
||
the user to set the type to "CODE", instead warn and set the
|
||
type to "ENTRY".
|
||
|
||
Mon Nov 8 12:05:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (mips_ip, printInsn): Handle 'k' (from Ted
|
||
Lemon <mellon@pepper.ncd.com>).
|
||
(mips_ip): Permit odd numbered floating point registers if -mips3.
|
||
(macro): Use BFD_RELOC_MIPS_LITERAL relocation for M_LI_SS.
|
||
|
||
Mon Nov 8 07:45:01 1993 Doug Evans (dje@canuck.cygnus.com)
|
||
|
||
* configure.in: Remove h8300h, we have multilib now.
|
||
|
||
Mon Nov 8 06:09:18 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com)
|
||
|
||
* configure.in: Support generic netware as being ELF format.
|
||
Recognise unixware if the user supplies it.
|
||
|
||
Sun Nov 7 01:02:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* First cut at cleaning up PA instruction parsing.
|
||
* config/tc-hppa.c (pa_get_absolute_expression): Accept pointer to
|
||
insn structure as an argument, and a pointer to a string. All
|
||
callers changed. Always read any field selector here. Call
|
||
evaluate absolute to get a return value.
|
||
(evaluate_absolute): Addept pointer to insn structure as its
|
||
argument. All callers changed.
|
||
(INSERT_FIELD_AND_CONTINUE): New macro for inserting a bitfield
|
||
into an instruction and continuing the main pa_ip loop.
|
||
(CHECK_FIELD): New macro for simple range checking of fields.
|
||
(pa_ip): Delete unused variables. Use INSERT_FIELD_AND_CONTINUE
|
||
and CHECK_FIELD. All immediate fields now pass through
|
||
pa_get_absolute_expression which will also handle field selectors.
|
||
Delete dead code. Simplify.
|
||
(md_apply_fix_1): Use CHECK_FIELD to verify any fixes that are
|
||
applied are in range. Use bfd_put_32 rather than inserting each
|
||
byte of the fixed instrution into the buffer ourselves.
|
||
|
||
* write.c (fixup_segment): Delete {SEG,GLOBAL}_DIFF_ALLOWED code,
|
||
it was PA specific and is no longer needed (it's now handled
|
||
within the PA backend).
|
||
* config/tc-hppa.h (SEG_DIFF_ALLOWED): Delete definition.
|
||
* config/tc-hppa.c (fix_new_hppa): If the subtract symbol for
|
||
a fixup is $global$ change it to NULL as $global$ is really only
|
||
needed long enough to determine the base type of relocation to use.
|
||
|
||
* config/tc-hppa.c (create_new_subspace): Initialize subspace_defined.
|
||
|
||
* config/tc-hppa.c (pa-ip, case 'z'): Make field selectors work
|
||
for 'z' operands (target of ble branch).
|
||
|
||
Sat Nov 6 22:41:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c: (update_subspace): Fix type and name of last
|
||
parameter. All callers fixed.
|
||
(md_begin, pa_chk_field_selector, pa_entry): Lint.
|
||
|
||
* config/tc-hppa.c (cons_fix_new_hppa): Reset field selector
|
||
to default state after it's been used.
|
||
|
||
Fri Nov 5 12:08:21 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/obj-som.c (obj_som_init_stab_section): Change
|
||
space/subspace sort keys for the stab sections so as to avoid
|
||
bugs in the hp linker and pxdb.
|
||
|
||
Thu Nov 4 17:00:05 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* write.c (chain_frchains_together): Update pointer to last
|
||
frag for a segment in the seginfo structure.
|
||
|
||
Thu Nov 04 09:09:35 1993 Jeffrey Wheat (cassidy@cygnus.com)
|
||
|
||
* Makefile.in: Changed RUNTESTFLAGS to RUNTEST_FLAGS
|
||
|
||
Wed Nov 3 12:16:27 1993 Ken Raeburn (raeburn@rover.cygnus.com)
|
||
|
||
* write.c (fixup_segment): Handle conversion of subtraction to
|
||
pc-relative addressing even if pc-relative flag is already set.
|
||
|
||
* config/tc-m68k.c (m68k_ip_op): Use strchr, not index. Don't
|
||
declare either.
|
||
|
||
* doc/Makefile.in (distclean): Delete intermediate files from dvi
|
||
build, but not the dvi or info files.
|
||
* Makefile.in (clean-here): New target; cleans up current
|
||
directory only.
|
||
(distclean): Use it instead of clean.
|
||
|
||
* read.c (s_xstab): Don't use alloca.
|
||
|
||
* messages.c (identify): New routine; print message identifying
|
||
following messages as coming from assembler.
|
||
(as_show_where, as_bad_internal, as_bad_where): Call it.
|
||
(as_fatal): Don't need to identify program any more.
|
||
|
||
Tue Nov 2 18:04:11 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-sparc.c (sparc_ip): Add default case to reloc switch.
|
||
|
||
* read.c (s_lcomm): Put small objects in .sbss for MIPS ELF as
|
||
well as MIPS ECOFF.
|
||
(get_stab_string_offset): Remove unused variable aligned.
|
||
|
||
Tue Nov 2 15:07:07 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c: Add %dp and %rp as synonyms for %r27 and %r2 in the
|
||
predefined register table.
|
||
(pa_parse_number): Handle %rp in common register shortcut code.
|
||
Consistently set return value to -1 for an error. Clean up error
|
||
messages and only print them when "print_errors" is true. Handle
|
||
empty string case like the HP assembler -- assume a value of
|
||
zero.
|
||
|
||
* config/ho-hpux.h: Do not include ho-sysv.h. Instead include
|
||
standard hpux include files to pick up various function decls.
|
||
|
||
* config/ho-hppaosf.h: Delete _IO* macros. They are defined in
|
||
stdio.h. Delete bogus declaration of free. Get path to
|
||
alloca-conf.h right.
|
||
|
||
Tue Nov 2 13:57:30 1993 Ken Raeburn (raeburn@rover.cygnus.com)
|
||
|
||
* expr.c (operand): Fix checks for characters following "0b" or
|
||
"0f".
|
||
|
||
Mon Nov 1 21:37:04 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/obj-som.h (obj_attach_unwind_info): Define as a hook
|
||
so GAS can attach unwind descriptor information to a BFD symbol.
|
||
* config/tc-hppa.c (fix_new_hppa): If necessary attach unwind
|
||
descriptor information to the BFD symbol.
|
||
(md_apply_fix): R_HPPA_ENTRY and R_HPPA_EXIT can never be "applied",
|
||
they are simply markers. Make R_HPPA_UNWIND_* handling OBJ_ELF
|
||
dependent.
|
||
(pa_build_unwind_subspace): Whole function is OBJ_ELF dependent.
|
||
(pa_entry): Build a R_HPPA_ENTRY relocation when configured for SOM.
|
||
(pa_exit): Likewise, but built a R_HPPA_EXIT relocation. Do not
|
||
build "end-of-function" symbols for SOM, they are not needed.
|
||
|
||
* config/tc-hppa.c (process_exit): Create temporary symbols with
|
||
correct prefixes so they can be eliminated later.
|
||
|
||
* config/tc-hppa.c (call_info struct): Delete unused "frame" field.
|
||
(pa_callinfo): Insert framesize into the unwind information as
|
||
soon as it's available.
|
||
(pa_build_unwind_subspace): Do not insert framesize into the unwind
|
||
information here.
|
||
|
||
* Add support for marker type relocations. These mark areas
|
||
of interest to the linker. ENTRY/EXIT relocations for SOM are
|
||
an example of marker relocations.
|
||
* write.c (write_relocs): Instead of assuming size of a relocation
|
||
is 4 bytes, pick up the size from relocation itself.
|
||
(fixup_segment): Do not complain that a value is too small for
|
||
marker relocations.
|
||
|
||
* struc-symbol.h: Add new "sy_used" field to the symbol structure.
|
||
* expr.c (operand): Set sy_used for any symbol used as an operand.
|
||
(expr): Likewise for any symbol used in an expression.
|
||
* config/tc-hppa.h (tc_frob_symbol): Define. Punt imported
|
||
symbols which are never used and absolute symbols which local scope.
|
||
|
||
* config/obj-som.h (obj_frob_file): Define.
|
||
* config/obj-som.c (obj_som_init_stab_section): Set alignment
|
||
of stab sections. Make space for the special stab entry.
|
||
(adjust_stab_sections): Adjust the special entry in the
|
||
stabs section.
|
||
(som_frob_file): New function. Simply calls adjust_stab_sections
|
||
for each section.
|
||
|
||
Mon Nov 1 17:54:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (PIC_CALL_REG, SP, FP): Define.
|
||
(mips_pic, mips_cprestore_offset): New static variables.
|
||
(md_pseudo_table): Handle .abicalls, .cpload, and .cprestore.
|
||
Ignore .bgnb and .endb.
|
||
(gp_reference): _gp_disp is never addressed off GP.
|
||
(macro_build): Ignore macros while searching for insn. For cases
|
||
i, j, and o, accept the reloc type as an argument rather than
|
||
assuming BFD_RELOC_LO16. Don't try to convert BFD_RELOC_LO16 to
|
||
BFD_RELOC_MIPS_GPREL. Added new case a.
|
||
(set_at, load_register, macro): Changed calls to macro_build to
|
||
pass new argument for i, j and o cases.
|
||
(macro): Handle M_JAL_1, M_JAL_2 and M_JAL_A. These require
|
||
special handling when generating SVR4 PIC code.
|
||
(mips_ip, tc_get_register, s_frame): Use macros FP, SP, GP and AT
|
||
rather than hard coded constants.
|
||
(md_apply_fix): Handle BFD_RELOC_MIPS_LITERAL and
|
||
BFD_RELOC_MIPS_CALL16.
|
||
(s_option): Set mips_pic based on .option picN.
|
||
(s_abicalls): New function; set mips_pic to 2.
|
||
(s_cpload): New function; handle .cpload.
|
||
(s_cprestore): New function; handle .cprestore.
|
||
|
||
* config/obj-ecoff.c (obj_pseudo_table): Add entries for .bgnb,
|
||
.endb and .verstamp, setting them to s_ignore.
|
||
|
||
Sun Oct 31 00:36:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (subspace_dictionary_chain): Add new ssd_defined
|
||
field. Define SUBSPACE_DEFINED accessor macro.
|
||
(pa_subspace): Allow user to override subspace attributes for
|
||
built-in subspaces. Set ssd_defined at the end of fcn -- that
|
||
way the attributes can only be changed once. Pass newly allocated
|
||
name to is_defined_subspace, not a pointer to the input line.
|
||
Fix typo in space/subspace rework.
|
||
(is_defined_subspace): Delete unused 2nd arg. All callers changed.
|
||
|
||
* config/tc-hppa.c (pa_import): If currently in the text segment
|
||
and a symbol is imported without type information, set BSF_FUNCTION
|
||
for the symbol.
|
||
* write.c (relax_and_size_seg): Correct test to determine if
|
||
the section's size was rounded up.
|
||
|
||
* config/obj-som.h (obj_set_symbol_type): Define a hook so GAS
|
||
can properly set all the SOM symbol types.
|
||
* config/tc-hppa.c (pa_symbol_type): New enum to represent the
|
||
symbol types which can be set from an IMPORT/EXPORT statement.
|
||
(pa_export_args): Set the pa_symbol_type type based on arguments.
|
||
If defined, call obj_set_symbol_type to pass this information on
|
||
to the BFD backend.
|
||
|
||
* read.c (get_stab_string_offset): Set SEC_DEBUGGING for any
|
||
stab section we make.
|
||
(s_stab_generic): Likewise.
|
||
|
||
Sat Oct 30 14:26:20 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* Allow backends to override the value of the fake label.
|
||
* write.h (LOCAL_LABEL): Delete DOT_LABEL_PREFIX code. Instead
|
||
assume backends will define LOCAL_LABEL if anything other than
|
||
'L' is used to denote a local label.
|
||
(FAKE_LABEL_NAME): New macro. Defines the default name used for
|
||
the "fake" label.
|
||
* expr.c (make_expr_symbol): Delete DOT_LABEL_PREFIX code
|
||
and instead simply use the string defined by FAKE_LABEL_NAME.
|
||
(operand): Likewise.
|
||
* read.c (s_stab_generic): Likewise.
|
||
* config/tc-hppa.h (FAKE_LABEL_NAME): Define as L$0\001 so it's
|
||
known to be a local label.
|
||
* config/tc-i386.h (DOT_LABEL_PREFIX): Delete.
|
||
(LOCAL_LABEL, FAKE_LABEL_NAME): Define.
|
||
* config/tc-m68k.h (DOT_LABEL_PREFIX): Delete.
|
||
(LOCAL_LABEL, FAKE_LABEL_NAME): Define.
|
||
* config/te-sco386.h (DOT_LABEL_PREFIX): Delete.
|
||
(LOCAL_LABEL, FAKE_LABEL_NAME): Define.
|
||
|
||
Rework space/subspace handling in PA code to fully support
|
||
SOM spaces/subspaces.
|
||
* config/tc-hppa.c (USE_ALIASES): New object-format dependent define
|
||
to control the use of space/subspace name aliases.
|
||
(update_subspace): Accept space chain entry for containing space
|
||
as a new parameter. All callers changed.
|
||
(pa_get_label): Use current_space rather than pa_segment_to_space.
|
||
(pa_define_label): Likewise.
|
||
(pa_undefine_label): Likewise.
|
||
(md_begin): Change into the (possibly modified) text_section.
|
||
(pa_parse_space_stmt): Create a new segment/space if create_flag
|
||
is true, and the space name is not one of the two predefined spaces.
|
||
(pa_subspace): Use current_space rather than a lookup via
|
||
pa_segment_to_space. Reset BFD section flags as required by
|
||
the .subspace directive. Likewise for the section alignment.
|
||
Pass the current space to update_subspace and create_new_subspace.
|
||
(pa_spaces_begin): Only use space/subspace aliases if USE_ALIASES
|
||
is true. When not using aliases, create a BFD section for each
|
||
subspace encountered. When not using aliases replace the default
|
||
text, data, and bss segments with new ones.
|
||
(create_new_subspace): When not using aliases each subspace has a
|
||
section/segment and subsegments are not needed, so set the subsegment
|
||
to zero.
|
||
|
||
* config/tc-hppa.c (pa_parse_space_stmt): If needed, call
|
||
obj_set_section_attributes to pass space attributes to the
|
||
BFD backend.
|
||
(create_new_space): Likewise.
|
||
(create_new_subspace): Likewise for subspace attributes using
|
||
obj_set_subsection_attributes.
|
||
(update_subspace): Likewise for subspace attributes using
|
||
obj_set_subsection_attributes.
|
||
|
||
* config/tc-hppa.c (pa_parse_space_stmt): Get segment and sort key
|
||
for $TEXT$ and $PRIVATE$ from the default space structure.
|
||
|
||
* config/tc-hppa.c (pa_export_args): Always set BSF_FUNCTION
|
||
as appropriate for the given type.
|
||
|
||
* config/tc-hppa.c (tc_gen_reloc): Preliminary stab at handling
|
||
SOM relocations.
|
||
|
||
* config/tc-hppa.c (pa_comm): Delete incorrect check for symbol
|
||
redefinition.
|
||
|
||
* config/obj-som.[ch]: New files for SOM support. Note SOM
|
||
support is not yet complete in GAS or BFD.
|
||
|
||
* config/ho-hppabsd.h: Delete IO* macros, they are defined in
|
||
stdio.h. Delete declaration of free. Include stdlib.h, unistd.h,
|
||
and string.h.
|
||
|
||
Fri Oct 29 13:26:12 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* Allow backends to override the section names used for embedded
|
||
stabs support. Needed for SOM.
|
||
* read.c (STAB_SECTION_NAME): Default the name of the stab section
|
||
to ".stab".
|
||
(STAB_STRING_SECTION_NAME): Likewise for the stab strings section.
|
||
(get_stab_string_offset): Is now passed the full name for the
|
||
stab string section rather than a name prefix. All references
|
||
changed.
|
||
(s_stab_generic): New argument for the stab string section name.
|
||
all references changed.
|
||
(s_xstab): Append "str" to the stab section name to get the
|
||
stab string section name.
|
||
* config/obj-coffbfd.c (obj_coff_init_stab_section): Append "str"
|
||
to stab section name to get the stab string section name. Pass
|
||
the full name of the stab string section to get_stab_string_offset.
|
||
* config/obj-elf.c (obj_elf_init_stab_section): Likewise.
|
||
|
||
* config/tc-hppa.c (md_begin): Disable "-R" option to fold
|
||
textand data segments. Warn user "-R" is unsupported on the
|
||
PA.
|
||
|
||
Thu Oct 28 12:36:13 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||
|
||
* config/tc-hppa.c (md_pseudo_table): Default alignment is 8 for
|
||
.align and .ALIGN directives.
|
||
|
||
* config/tc-hppa.c (pa_space): Do not report an error for a .space
|
||
directive which does not define a "well-known" space and does
|
||
not include a space number as an argument.
|
||
|
||
* config/tc-hppa.c (pa_def_subspaces): Correct initialization of the
|
||
"defined", "loadable", "code_only" and "space_index" fields.
|
||
(pa_def_spaces): Correct initialization of the "spnum", "defined",
|
||
and "private" fields.
|
||
|
||
* write.h (struct fix): Add new tc_fix_data field for the various
|
||
backends to attach machine dependent fixup information to.
|
||
* write.c (fix_new_internal): Initialize new tc_fix_data field.
|
||
* config/tc-hppa.c (hppa_fix_struct): Delete unnecessary fix_fixP and
|
||
fx_next fields.
|
||
(hppa_find_hppa_fix): Delete unnecessary function. Fix all
|
||
callers to get HPPA fixup information from the tc_fix_data field
|
||
in the GAS fixup.
|
||
(hppa_fix_root): Delete unnecessary variable.
|
||
(fix_new_hppa): Attach HPPA fixup data to the GAS fixup.
|
||
|
||
* config/tc-hppa.c (pa_set_start_symbol); Delete unwanted
|
||
function. Fix all callers.
|
||
(subspace_dictionary_chain): Delete unused ssd_start_sym field.
|
||
|
||
* config/tc-hppa.c (hppa_fix_adjustable): New function to determine
|
||
if a particular fixup is adjustable.
|
||
* config/tc-hppa.h (tc_fix_adjustable): Call hppa_fix_adjustable to
|
||
perform the real work.
|
||
|
||
* config/tc-hppa.h (RELOC_EXPANSION_POSSIBLE): Move definition out
|
||
of OBJ_XXX conditionals.
|
||
(MAX_RELOC_EXPANSION): Likewise.
|
||
|
||
* config/tc-hppa.c (log2): Renamed from is_power_of_2. Fix all
|
||
callers. Now returns log2 (N) for positive N which are an exact
|
||
power of two or -1 for an error.
|
||
|
||
* config/tc-hppa.c (pa_callinfo): Range check values provided for
|
||
ENTRY_GR, ENTRY_FR and ENTRY_SR. Properly adjust vaues before
|
||
inserting them into the unwind table.
|
||
|
||
* config/tc-hppa.c (NEEDS_FIXUP): Delete definition and all references.
|
||
(hppa_gen_reloc_type): New object format dependent macro.
|
||
(pa_ip): Delete tons of code which was either OBJ_SOM or OBJ_ELF
|
||
conditional. The code can (and will) be shared between SOM & ELF
|
||
formats in the near future.
|
||
(cons_fix_new_hppa, md_apply_fix_1): Likewise.
|
||
(pa_build_unwind_subspace, process_exit, pa_exit): Likewise.
|
||
(tc_gen_reloc): Use hppa_gen_reloc rather than an object format
|
||
specific call.
|
||
|
||
* config/tc-hppa.c (pa_comm): Set the segment for a common symbol
|
||
to bfd_und_section.
|
||
|
||
* config/obj-elf.h (obj_elf_version): Add extern prototype.
|
||
|
||
* configure.in (hppa-*-bsd*): New configuration.
|
||
BFD is always used for GAS generating SOM objects.
|
||
|
||
* write.c (adjust_reloc_syms): Set sy_used_in_reloc if an
|
||
adjustment is rejected by the target machine.
|
||
|
||
* config/tc-hppa.c (pa_big_cons): Delete function and its
|
||
declaration. All callers changed to use pa_cons.
|
||
|
||
* write.c (fixup_segment): Fix indention and open/close brace
|
||
problem.
|
||
|
||
From Pete Hoogenboom:
|
||
* config/tc-hppa.c (md_atof): Return a NULL on success rather than
|
||
an empty string.
|
||
|
||
* config/tc-hppa.c (pa_parse_space_stmt): Advance
|
||
input_line_poitner when an invalid argument is encountered.
|
||
|
||
Thu Oct 28 13:09:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-a29k.c (md_begin): When opcodes are mashed together in
|
||
the table, require that the one without bit 0x1000000 set come
|
||
first. Require further that it be case 'b' or 'P'. The a29k
|
||
opcode table already meets these constraints.
|
||
(machine_ip): When handling case 'i' or 'A', make sure that the
|
||
appropriate opcode really exists by looking at the next entry in
|
||
the opcode table.
|
||
|
||
Wed Oct 27 11:48:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-m68k.c (m68k_ip): Adjust offsets for PC relative
|
||
fixups. Add 6 for long 7.3 case, 2 for short 7.2 case.
|
||
|
||
* config/obj-ecoff.c (obj_ecoff_ent): Ignore an optional number
|
||
after a .ent directive.
|
||
|
||
* config/tc-mips.c (mips_ip): Handle '>' case (shift amount
|
||
between 32 and 63 for double shift instruction). Do & 0x1f rather
|
||
than % 32.
|
||
(printInsn): Handle '>'.
|
||
|
||
Tue Oct 26 16:58:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-ns32k.c (tc_aout_fix_to_chars): Output the symbol
|
||
number in the right place. Untested. Probably does not work for
|
||
cross assembly. From cagney@cs.adelaide.edu.au (Andrew Cagney).
|
||
|
||
* config/tc-m68k.c (md_apply_fix_2): Error if a short branch uses
|
||
an illegal offset of 0 or -1.
|
||
|
||
* config/obj-elf.c (obj_elf_init_stab_section): Align .stab
|
||
section to a longword boundary.
|
||
|
||
Tue Oct 26 10:24:31 1993 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* Makefile.in (CHECKFLAGS): Pass down RUNTESTFLAGS.
|
||
|
||
From Jeff Law:
|
||
* config/tc-hppa.c (tc_gen_reloc): ELF32_HPPA_R_ADDEND ->
|
||
HPPA_R_ADDEND.
|
||
|
||
Mon Oct 25 14:06:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-sparc.c (sparc_ip): Fix up membar argument handling.
|
||
|
||
Mon Oct 25 11:17:58 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
|
||
|
||
* config/tc-sh.c (build_Mbytes): Write the relocs to the correct
|
||
address. (md_assemble): Make error handling a bit more graceful.
|
||
(md_apply_fix): Don't warn on non aligned displacement.
|
||
|
||
* config/tc-z8k.c (get_specific, built_bytes): Understand all the
|
||
aspects of lda.
|
||
|
||
Mon Oct 25 10:20:31 1993 Ken Raeburn (raeburn@rover.cygnus.com)
|
||
|
||
* doc/Makefile.in (install-info): Use "$<*" so VPATH will find
|
||
as.info* even if they're in $(srcdir) (e.g., for FSF
|
||
distributions).
|
||
|
||
* write.c (write_relocs): For relocs that are pc_relative and
|
||
pcrel_offset and not partial_inplace, adjust reloc->addend to
|
||
compensate for a bfd_perform_relocation bug.
|
||
|
||
* config/tc-sparc.h: Removed remaining non-BFD_ASSEMBLER code.
|
||
* config/tc-sparc.c: Ditto.
|
||
(tc_gen_reloc): Include fx_offset for pcrel fixups.
|
||
|
||
Sun Oct 24 16:49:00 1993 Jim Wilson (wilson@x1.cygnus.com)
|
||
|
||
* config/tc-mips.c (md_pseudo_table): Add dword pseudo op.
|
||
|
||
Fri Oct 22 20:40:56 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
|
||
|
||
* messages.c: replaced all variables called Format with 'format',
|
||
for consistency throughout
|
||
|
||
* configure.in: handle mips*- instead of mips, mips*el for little
|
||
endian configurations
|
||
|
||
Fri Oct 22 14:45:49 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* input-scrub.c (physical_input_file, logical_input_file,
|
||
physical_input_line, logical_input_line): Made static.
|
||
(as_where): Return current file name and line number, don't print
|
||
them out.
|
||
* messages.c (as_show_where): New static function. Other
|
||
functions use it instead of as_where.
|
||
(as_bad_internal): New static function.
|
||
(as_bad): Use as_bad_internal.
|
||
(as_bad_where): New function, like as_bad but taking a file name
|
||
and line number.
|
||
* as.h (as_bad_where): Declare.
|
||
(as_where): Change prototype for new arguments.
|
||
* write.h (fixS): Added fields fx_file and fx_line.
|
||
* write.c (fix_new_internal): Save file and line number in fix.
|
||
(fixup_segment): Use as_bad_where, not as_bad.
|
||
* input-file.c (f_in, file_name): Made static.
|
||
* cond.c (struct file_line): Just use file and line fields.
|
||
(s_else): Use as_where and as_bad_where, not get_file_line and
|
||
set_file_line.
|
||
(get_file_line, set_file_line): Removed.
|
||
* listing.c (listing_newline): Use as_where.
|
||
* config/obj-coffbfd.c (obj_coff_init_stab_section): Use as_where.
|
||
* config/obj-ecoff.c (add_file): Use as_where.
|
||
* config/obj-elf.c (obj_elf_init_stab_section): Use as_where.
|
||
* config/tc-m68k.c (md_apply_fix_2): Use as_bad_where.
|
||
* config/tc-mips.c (tc_gen_reloc): Use as_bad_where, not assert.
|
||
|
||
Thu Oct 21 12:52:01 1993 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* config/tc-m68k.h: Don't define REGISTER_PREFIX or
|
||
OPTIONAL_REGISTER_PREFIX if either is already defined.
|
||
|
||
* config/tc-m68k.c (m68k_ip): Delete some code in "#if 0".
|
||
|
||
* configure.in: Set bfd_gas for all sparc targets. Added facility
|
||
for keeping or rejecting configurations still under development;
|
||
default is to assume production environment, and reject configs
|
||
still being worked on. Mark Elf configurations (except sparc and
|
||
i386) as developmental. Deleted cases matching some generic names
|
||
in favor of more specific names. (E.g., when we get Alpha
|
||
support, we'll still only support VMS for Vax.)
|
||
|
||
* config/tc-sparc.h (md_end): New macro.
|
||
* config/tc-sparc.c (md_end): Function deleted.
|
||
(BFD_RELOC_*): Delete macros that used to help keep the non-bfd
|
||
version compiling. All sparc targets will use bfd now.
|
||
* tc.h (md_end): Don't declare if it's defined as a macro.
|
||
|
||
Changes from Jeff Law and Peter Hoogenboom:
|
||
|
||
* read.c (next_char_of_string): Limit octal character constants to
|
||
three digits.
|
||
|
||
* config/tc-hppa.h: Major cleanup. Use GNU-style comments. Warn
|
||
against placing additional object-file dependent code here. Warn
|
||
against contaminating all of GAS with the internals of tc-hppa.c
|
||
through inclusion of tc-hppa.h. Delete all forward declarations
|
||
for functions only used within tc-hppa.c, likewise for structures,
|
||
variables, and #defines. Try to group OBJ_ELF and OBJ_SOM
|
||
conditional code in a few small places.
|
||
|
||
* config/tc-hppa.c: Major cleanup. Use GNU-style comments. Group
|
||
structures, global variables, forward declarations together.
|
||
Reduce (or in some cases eliminate) OBJ_ELF and OBJ_SOM
|
||
conditional code -- try to group conditional code together
|
||
into a few places. Make all functions and variables which
|
||
are only used within tc-hppa.c static. PARAMize all functions.
|
||
Add comments to functions. Delete unused functions, variables,
|
||
#defines, etc. Delete unused members within structures. Delete
|
||
ldil;ble hacks -- it is believed they were installed to work
|
||
around old gas bugs. Avoid using mixed case for local
|
||
functions, variables, and structures. Fix formatting problems
|
||
not found by GNU-indent. Add FIXME notices for things which
|
||
should be worked on the near future. Delete lots of old
|
||
useless (1.36 PA-SOM) code.
|
||
|
||
* config/tc-hppa.c: (fix_new_hppa): Initialize the fx_r_type
|
||
field of the fixS structure. Needed to build unwind
|
||
descriptors correctly.
|
||
|
||
* write.c: (fixup_segment): Allow expressions such as
|
||
sym1-sym2+const as long as sym2 is $global$.
|
||
|
||
* write.c (adjust_reloc_syms): Provide a hook so that a target
|
||
cpu configuration can reject certain relocation reductions.
|
||
* config/tc-hppa.h (tc_fix_adjustable): New macro. Only accept relocations
|
||
which do not involve function symbols.
|
||
|
||
* config/tc-hppa.h: Reindent with GNU-indent. Delete references
|
||
to OBJ_OSFROSE. Fix typos (OBJ_SOME -> OBJ_SOM). Delete unused
|
||
STAB_FIXUP macro.
|
||
* config/tc-hppa.c: Likewise.
|
||
|
||
* config/tc-hppa.c (md_apply_fix_1): Use elf_symbol_type, instead
|
||
of elf32_symbol_type.
|
||
(pa_export_args): Likewise.
|
||
(elf_hppa_final_processing): Likewise.
|
||
(pa_desc): Do not call obj_elf_desc. (Is pa_desc even needed
|
||
anymore?)
|
||
(hppa_tc_make_sections): Do not declare elf_get_symtab_map any
|
||
ore.
|
||
|
||
* config/tc-hppa.c: (md_section_align): Align all sections to
|
||
a multiple of the section alignment rather than always a
|
||
multiple of 8.
|
||
|
||
* config/tc-hppa.c (hppa_tc_symbol): If the argument relocation
|
||
bits are zero (eg they specify no relocations), then do not even
|
||
bother adding their entries to thesymextn section.
|
||
|
||
Thu Oct 21 15:44:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-sparc.c (md_parse_option): Accept and ignore -sparc
|
||
option, which is used by the SunOS make default .s.o rule.
|
||
|
||
Wed Oct 20 12:26:33 1993 Ken Raeburn (raeburn@rover.cygnus.com)
|
||
|
||
* config/tc-sparc.c (sparc_ip, label "immediate"): Convert relocs
|
||
operating on upper 32 bits of immediate constants to lower-half
|
||
relocs with adjusted constants.
|
||
|
||
Tue Oct 19 18:13:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-m68k.h (AOUT_MACHTYPE): Define to be external variable
|
||
m68k_aout_machtype.
|
||
* config/tc-m68k.c (omagic): Remove obsolete and unused variable.
|
||
(m68k_aout_machtype): New variable, if OBJ_AOUT.
|
||
(md_assemble): Initialize m68k_aout_machtype based on
|
||
current_architecture, if OBJ_AOUT.
|
||
(md_parse_option): Remove obsolete reference to omagic.
|
||
|
||
Thu Oct 14 16:51:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (md_pseudo_table): Ignore .livereg pseudo-op.
|
||
(s_option): Ignore .option O* and .option pic*.
|
||
(s_ent): Skip whitespace between symbol and optional digit.
|
||
(my_getSmallExpression): Handle ($xx) correctly: assume 0($xx).
|
||
|
||
* app.c (do_scrub_next_char): Always accept 'x' and 'X' as escape
|
||
characters in state 6.
|
||
* read.c (next_char_of_string): Accept \Xh* and \xh* where h* are
|
||
hexadecimal digits.
|
||
|
||
* config/tc-i386.c (md_apply_fix_1): Make cross segment calls work
|
||
for ELF by hacking around bizarre bfd_perform_relocation behaviour
|
||
that I don't dare change.
|
||
|
||
Thu Oct 14 11:33:25 1993 Michael Meissner (meissner@osf.org)
|
||
|
||
* config/tc-i386.c: (md_begin): Do not zero static arrays. Don't
|
||
call strchr for each character to see if it is a special char,
|
||
instead add a second loop over special_chars. Set alignment
|
||
of text, data and bss sections to 4.
|
||
(pi, te, pt, pe, ps): Add declarations so that DEBUG386 can be
|
||
used again.
|
||
(reloc): Don't return 8 and 16 bit non-PC relative relocations on
|
||
ELF, since the ELF object format does not have these type of
|
||
relocations. Change the abort into as as_bad and return
|
||
BFD_RELOC_NONE to silence compiler warnings.
|
||
(md_assemble): Keep track of the instruction size. Allow white
|
||
space between the $ and the constant for compatibility with older
|
||
gases and other assemblers.
|
||
(i386_operand): Skip spaces between $ and expression.
|
||
(tc_gen_reloc): Don't allow anything but 32 bit relocations on
|
||
ELF. Convert abort into an as_bad and assert into as_fatal.
|
||
|
||
Wed Oct 13 16:50:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/obj-coffbfd.c (fixup_segment) [DIFF_EXPR_OK]: If
|
||
sub_symbolP is in the current segment, convert to a PC-relative
|
||
fixup and discard the symbol.
|
||
|
||
Wed Oct 13 14:00:02 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-ecoff.c (ecoff_build_symbols): Handle st_End symbol
|
||
for st_StaticProc just like st_Proc.
|
||
|
||
* write.c (relax_and_size_all_segments): Moved #endif for OBJ_BOUT
|
||
so that OBJ_BOUT doesn't forget to adjust all the fragments in the
|
||
.bss section.
|
||
|
||
Tue Oct 12 17:26:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c: If OBJ_ELF, include elf/mips.h.
|
||
(mips_regmask_frag): New static variable, if OBJ_ELF.
|
||
(md_begin): If OBJ_ELF, create .reginfo section and set
|
||
mips_regmask_frag to a frag.
|
||
(mips_elf_final_processing): New function, if OBJ_ELF. Set
|
||
mips_regmask_frag to register mask information.
|
||
* config/tc-mips.h (elf_tc_final_processing): New macro, defined
|
||
if OBJ_ELF.
|
||
|
||
Tue Oct 12 03:33:26 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* messages.c (as_fatal): Use myname when printing messages.
|
||
|
||
* config/tc-i960.c (md_begin): Use null pointer, not empty string,
|
||
as initial "return" value in case hashing isn't needed.
|
||
|
||
* config/tc-a29k.c (md_atof): Return null, not empty string, on
|
||
success.
|
||
* config/tc-h8300.c (md_atof), config/tc-h8500.c (md_atof),
|
||
config/tc-hppa.c (md_atof), config/tc-i860.c (md_atof),
|
||
config/tc-i960.c (md_atof), config/tc-m88k.c (md_atof),
|
||
config/tc-ns32k.c (md_atof), config/tc-sh.c (md_atof): Ditto.
|
||
|
||
Mon Oct 11 16:46:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
|
||
|
||
fix for pr 3571
|
||
* config/tc-h8300.c (get_specific): Special action if 8 bit
|
||
address seen. (check_operand): Don't complain if truncating top
|
||
bits of an 8 bit address. (build_bytes): Allow an immediate and
|
||
an absolute in the same insn.
|
||
|
||
Mon Oct 11 17:18:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* write.c (write_contents): Don't crash if seginfo is NULL.
|
||
|
||
* config/obj-ecoff.c (ecoff_frob_file): Write out register masks
|
||
by modifying .reginfo section, not by directly modifying BFD
|
||
backend data.
|
||
|
||
Mon Oct 11 14:11:32 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
|
||
|
||
* config/ho-sunos.h: remove extern time declaration
|
||
|
||
Mon Oct 11 16:14:43 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* messages.c (as_fatal): Do mention that it's the assembler that
|
||
got the fatal error.
|
||
|
||
Fri Oct 8 14:09:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (mips_gprmask, mips_cprmask): New variables to
|
||
hold register masks.
|
||
(md_begin): Initialize them to zero.
|
||
(append_insn): Update mips_gprmask and mips_cprmask. Also add
|
||
register variables pinfo and prev_pinfo.
|
||
* config/tc-mips.h (mips_gprmask, mips_cprmask): Declare.
|
||
* config/obj-ecoff.c (ecoff_frob_file): If TC_MIPS, set gprmask
|
||
and cprmask from mips_gprmask and mips_cprmask.
|
||
|
||
* config/tc-mips.h: Define TARGET_FORMAT if OBJ_ELF.
|
||
* config/tc-mips.c (GPOPT): Define if OBJ_ECOFF or OBJ_ELF.
|
||
(various): Change all references to GP references to apply if
|
||
GPOPT, not if OBJ_ECOFF.
|
||
(s_change_sec): Rearrange somewhat. If OBJ_ELF, use .rodata
|
||
instead of .rdata. If OBJ_ELF, set section flags for .rodata and
|
||
.sdata sections.
|
||
(s_frame, s_loc, s_mask): Comment out entire functions, rather
|
||
than just body. They're not used anyhow.
|
||
* configure.in: Set cpu_type to mips for mips*. Accept
|
||
mips-*-elfl* and mips-*-elf*.
|
||
|
||
Thu Oct 7 18:36:29 1993 Michael Meissner (meissner@osf.org)
|
||
|
||
* config/obj-elf.c (obj_elf_common): Allow the alignment field to
|
||
not be specified.
|
||
|
||
Wed Oct 6 13:01:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (cons_fix_new_mips): New function. Turn
|
||
BFD_RELOC_64 into BFD_RELOC_32.
|
||
* config/tc-mips.h (TC_CONS_FIX_NEW): Define.
|
||
(cons_fix_new_mips): Declare.
|
||
|
||
Changes to let cons handle bignums like general expressions.
|
||
* expr.h (expressionS): New field X_unsigned.
|
||
* expr.c (operand): Initialize X_unsigned to 1. Set it to 0 for
|
||
unary minus case.
|
||
(expr) Fix typo resultP to right if missing operand. Set
|
||
X_unsigned to 1 when building new expression.
|
||
* read.c (potable): Make "octa" and "quad" call cons, not
|
||
big_cons.
|
||
(cons): Handle bignums. If given an O_constant (small integer) to
|
||
fill a big space, turn it into a bignum.
|
||
(parse_bitfield_cons): Set X_unsigned field.
|
||
(bignum_low, bignum_limit, bignum_high, grow_bignum, big_cons):
|
||
Removed.
|
||
* read.h (big_cons): Remove prototype.
|
||
* symbols.c (resolve_symbol_value): Don't give a warning if a
|
||
symbol in expr_section can not be resolved.
|
||
(S_SET_VALUE): Clear X_unsigned.
|
||
* write.c (write_object_file): If resolve_symbol_value failed on a
|
||
symbol we are writing out, give a warning.
|
||
* config/tc-h8500.c (parse_reglist): Set X_unsigned.
|
||
* config/tc-hppa.c (md_pseudo_table): Change "octa" and "quad" to
|
||
call pa_cons, not pa_big_cons.
|
||
(pa_big_cons): Remove.
|
||
* config/tc-hppa.h (pa_big_cons): Remove declaration.
|
||
* config/tc-i960.c (md_pseudo_table): Change "quad" to call cons,
|
||
not big_cons.
|
||
|
||
Tue Oct 5 10:53:36 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
|
||
|
||
* doc/as.texinfo (Copying): new node, to handle the recent changes
|
||
in the texinfo/gpl.texinfo file
|
||
|
||
Mon Oct 4 17:10:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* read.c (big_cons): Handle "0" correctly.
|
||
|
||
* config/tc-mips.c (md_begin): Set target_big_endian correctly.
|
||
|
||
Mon Oct 4 15:37:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-m68k.c (m68k_ip): Mode 7.3 operand using PC should
|
||
have pc-relative fixup.
|
||
(md_parse_option): Move "-k" case down near "-pic" case.
|
||
|
||
* configure.in: Alphabetize list of cpu type alternatives. Enable
|
||
OS values of "linux*elf*" and "linux*coff*" to select those
|
||
formats, with linux emulation. Don't bother checking for upper-
|
||
or mixed-case versions of "ose".
|
||
|
||
Thu Sep 30 11:05:35 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
|
||
|
||
* config/z8k.c (md_pseudo_table): add "unseg".
|
||
|
||
Wed Sep 29 16:15:11 1993 K. Richard Pixley (rich@sendai.cygnus.com)
|
||
|
||
* config/m88k-opcode.h (m88k_opcodes): correct a few mistakes
|
||
found while extending the dissassembler.
|
||
|
||
Tue Sep 28 12:02:04 1993 Stan Shebs (shebs@rtl.cygnus.com)
|
||
|
||
* configure.in: Split i386 LynxOS out from other coff targets,
|
||
add a specific Lynx emulation.
|
||
Add m68k LynxOS target.
|
||
* config/tc-i386.c: Define specific Lynx target format.
|
||
* config/tc-m68k.c: Define specific Lynx target format.
|
||
* config/te-lynx.h: New file.
|
||
|
||
* config/obj-coffbfd.h: Don't set TARGET_FORMAT to be
|
||
"coff-{i386,m68k}" if TARGET_FORMAT already defined.
|
||
(INIT_STAB_SECTION): Define.
|
||
* config/obj-coffbfd.c: Include <time.h>.
|
||
(write_object_file): Look for .stab sections and call
|
||
adjust_stab_section.
|
||
(adjust_stab_section): New function, fills in the first symbol
|
||
of a stab section with number of symbols and string table size.
|
||
(obj_coff_init_stab_section): New function, creates the initial
|
||
symbol for a stab section.
|
||
|
||
Mon Sep 27 15:21:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/atof-vax.c (md_atof): Return null on success instead of
|
||
empty string.
|
||
* config/atof-tahoe.c (md_atof): Ditto.
|
||
* read.c (float_cons): Expect a null pointer for success, not an
|
||
empty string.
|
||
|
||
* hash.c (hash_insert, hash_jam, hash_grow): Return null pointer
|
||
on success, instead of empty string. All callers changed.
|
||
|
||
* config/tc-vax.c: Use PARAMS in declarations.
|
||
(vip_op): Use NULL instead of empty string for success in error
|
||
and warning fields.
|
||
|
||
Sun Sep 26 23:45:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* expr.c (expr) [DIFF_EXPR_OK]: Permit subtraction of two symbols
|
||
in different defined segments.
|
||
|
||
* write.c (relax_segment): Localize "aim" variable. If
|
||
DIFF_EXPR_OK, don't impose checks on symbol segment types.
|
||
(fixup_segment) [DIFF_EXPR_OK]: If sub_symbolP is in the current
|
||
segment, convert to a PC-relative fixup and discard the symbol.
|
||
|
||
* config/tc-m68k.c (flag_want_pic): New variable, mostly ignored.
|
||
(md_parse_option) [TE_SUN3]: Set it for "-k".
|
||
(m68k_ip): Generate proper fixup for mode 7.3.
|
||
* config/tc-m68k.h (DIFF_EXPR_OK): Define.
|
||
|
||
Sat Sep 25 05:08:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-m68k.c (struct m68k_incant, getone, gettwo): Moved
|
||
earlier in the file.
|
||
(insop, add_exp): Now defined as functions, for readability.
|
||
(insop): Now takes two arguments; callers changed.
|
||
|
||
Fri Sep 24 12:37:59 1993 K. Richard Pixley (rich@sendai.cygnus.com)
|
||
|
||
* config/tc-m88k.c (get_o6): new function.
|
||
(get_bf, get_cmp, get_cnd, get_cr, get_fcr, get_imm16, get_reg,
|
||
get_vec9, getval, get_pcr, calcop, match_name): make static and
|
||
prototype.
|
||
(s_file): remove extraneous forward decl.
|
||
(md_begin): add const to retval decl.
|
||
(calcop): cope with instructions without arguments. Handle 'o'
|
||
type argument, the o6 field of the prot insn.
|
||
(md_estimate_size_before_relax): return a dummy value.
|
||
|
||
* config/m88k-opcode.h (m88k_opcodes): comment change; o6 field is
|
||
in bits 10 through 7. flt.[dxs]s requires an r register in the
|
||
second argument. New instruction lda.x. New instruction muls
|
||
(alias for mul).
|
||
|
||
Fri Sep 24 13:43:30 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* Makefile.in (distclean): Recurse like clean.
|
||
* doc/Makefile.in (distclean): New target.
|
||
|
||
* config/tc-mips.c (md_begin): Set BFD architecture and machine
|
||
based on MIPS ISA level.
|
||
|
||
Thu Sep 23 17:58:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* as.c (main): "exhausted", not "exhuasted".
|
||
|
||
* struc-symbol.h (struct symbol): Add sy_used_in_reloc field.
|
||
* write.c (adjust_reloc_syms): Set sy_used_in_reloc.
|
||
(write_object_file): Never strip symbols with sy_used_in_reloc
|
||
set.
|
||
|
||
* config/obj-elf.c (obj_elf_section): Rewrote to handle both
|
||
Solaris and SVR4 style .section pseudo-ops.
|
||
(obj_elf_ident): Set SEC_READONLY for .comment section.
|
||
* config/tc-sparc.c (md_apply_fix): If this is ELF, and we're
|
||
generating a reloc, don't apply a fix.
|
||
|
||
Thu Sep 23 13:16:58 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/obj-coffbfd.c (relax_align): Now static.
|
||
|
||
Mon Sep 20 19:23:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* read.c (get_stab_string_offset): Make non-static. Make
|
||
arguments const. Don't align strings to 4 byte boundaries.
|
||
* read.h: Declare get_stab_string_offset.
|
||
* config/obj-elf.c (obj_elf_section): Set SEC_ALLOC as well as
|
||
SEC_LOAD for progbits section.
|
||
(obj_elf_init_stab_section): New function.
|
||
(adjust_stab_sections): Add casts to avoid warnings.
|
||
* config/obj-elf.h (INIT_STAB_SECTION): Call
|
||
obj_elf_init_stab_section.
|
||
(OBJ_PROCESS_STAB): Removed definition.
|
||
|
||
Fri Sep 17 18:12:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-elf.h (S_GET_SIZE): Define.
|
||
(obj_frob_forward_symbol): Define.
|
||
* config/tc-i386.c (line_comment_chars): Initialize in all cases.
|
||
|
||
Thu Sep 16 14:23:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* tc.h: Declare tc_gen_reloc differently depending upon
|
||
RELOC_EXPANSION_POSSIBLE.
|
||
* config/obj-elf.c (obj_elf_section): Only set flags when first
|
||
creating the section.
|
||
|
||
Wed Sep 15 12:15:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (append_insn): Don't swap a trap instruction
|
||
with a branch.
|
||
|
||
Tue Sep 14 13:31:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-elf.c (obj_elf_data, obj_elf_text): New functions;
|
||
set previous_section and previous_subsection and then call s_data
|
||
and s_text, respectively.
|
||
(obj_pseudo_table): Add data and text.
|
||
(obj_elf_section): Add SEC_LOAD to default initialization of
|
||
flags. Treat .rodata1 like .rodata. Set SEC_LOAD as well as
|
||
SEC_ALLOC for "alloc" string. Don't bother trying to find the
|
||
section; just use subseg_new.
|
||
|
||
* read.c (change_to_section): Removed. This is now done by
|
||
subseg_new.
|
||
(get_stab_string_offset): Rearranged somewhat. Create the section
|
||
using subseg_new. Store the string index in seg_info, rather than
|
||
in a static variable. Force the first string to be empty. Use
|
||
frag_more rather than FRAG_APPEND_1_CHAR.
|
||
(s_stab_generic): Rewrote.
|
||
* subsegs.h (segment_info_type): Added stabu union.
|
||
* subsegs.c (subseg_new): Initialize stab_string_size to 0.
|
||
* config/obj-aout.c: Don't include aout/stab_gnu.h.
|
||
(obj_aout_stab, obj_aout_desc): Removed.
|
||
(obj_pseudo_table): Removed desc and stabX entries.
|
||
* config/obj-bout.c: Same changes as config/obj-aout.c.
|
||
* config/obj-bout.h (S_SET_TYPE): Define.
|
||
(tc_bout_fix_to_chars): Declare.
|
||
* config/obj-coff.c (obj_coff_stab): Removed.
|
||
(obj_pseudo_table): Removed desc and stabX entries.
|
||
* config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define.
|
||
* config/obj-coffbfd.c (current_stab_symbol): Removed.
|
||
* config/obj-coffbfd.h (obj_symbol_type): Removed n_strx, n_type,
|
||
n_other, n_desc and n_value fields.
|
||
(S_{S,G}ET_{OFFSET,OTHER,TYPE,DESC}): Removed.
|
||
(MAKE_STAB_SYMBOL): Removed.
|
||
* config/obj-ecoff.c (obj_ecoff_stab): Renamed to ecoff_stab.
|
||
Changed arguments and removed parsing code.
|
||
(obj_pseudo_table): Removed stabX entries.
|
||
* config/obj-ecoff.h (ecoff_stab): Declare.
|
||
(OBJ_PROCESS_STAB): Define.
|
||
* config/obj-elf.c: Don't include aout/stab_gnu.h.
|
||
(obj_elf_stab, obj_elf_xstab, obj_elf_desc,
|
||
elf_stab_symbol_string, elf_stab_symbol, obj_elf_stab_generic):
|
||
Removed.
|
||
(obj_pseudo_table): Removed desc, stabX and xstabs entries.
|
||
(obj_elf_version): Use subseg_new, not bfd_make_section. Don't
|
||
set SEC_LOAD for .note section.
|
||
(adjust_stab_sections): Get frag pointer from seg_info, rather
|
||
than looking through frags.
|
||
* config/obj-elf.h (S_{S,G}ET_{OTHER,TYPE,DESC}): Removed.
|
||
(SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB):
|
||
Define.
|
||
* config/obj-vms.c (obj_aout_stab): Removed.
|
||
(obj_pseudo_table): Removed stabX entries.
|
||
* config/obj-vms.h (S_SET_TYPE): Define.
|
||
|
||
* as.h: Declare listing.
|
||
* read.c: Don't declare listing.
|
||
(emit_expr): Cast fix_new_exp argument.
|
||
(parse_bitfield_cons): Correct printf format.
|
||
* symbols.c (symbol_new): Add cast to avoid warning.
|
||
* write.h: Declare text_last_frag and data_last_frag.
|
||
* config/obj-bout.c (obj_bout_line): Added dummy argument.
|
||
* config/obj-coffbfd.c: Add some casts to avoid warnings.
|
||
* config/tc-a29k.c: Likewise.
|
||
* config/tc-i960.c: Likewise. Also fully bracket structure
|
||
initializations, fix printf formats, and remove unused variables.
|
||
|
||
Mon Sep 13 16:48:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* read.c (s_desc): Only compile and use if S_SET_DESC is defined.
|
||
* struc-symbol.h: Declare verify_symbol_chain and
|
||
verify_symbol_chain_2 even if not SYMBOLS_NEED_BACKPOINTERS.
|
||
* symbols.c (verify_symbol_chain): Removed useless expression.
|
||
* write.c (headers, the_object_file): Only use if not
|
||
BFD_ASSEMBLER and not BFD.
|
||
(fixup_segment, cvs_frag_to_fill): Only use if BFD_ASSEMBLER or
|
||
not BFD.
|
||
(merge_data_into_text): Only use if BFD_ASSEMBLER or (not BFD and
|
||
not OBJ_AOUT).
|
||
* write.h: Declare relax_segment.
|
||
* config/obj-coffbfd.c (stack_pop, stack_push, stack_init): Made
|
||
static.
|
||
(stack_top): Commented out, since it's not used.
|
||
Fixed up pseudo-op functions to take an ignored int argument.
|
||
(size_section): Added default BAD_CASE to switch.
|
||
Changed bzero calls to memset.
|
||
* config/obj-coffbfd.h (S_IS_LOCAL): Call strchr on S_GET_NAME
|
||
(s), not on s itself.
|
||
* config/tc-a29k.c (s_use): Take ignored int argument. Only
|
||
define if OBJ_COFF is not defined.
|
||
* config/tc-i386.c: (fits_in_signed_byte, smallest_imm_type): Make
|
||
argument signed again.
|
||
* config/tc-m68k.c (s_bss, s_even, s_proc): Take ignored int
|
||
argument.
|
||
(m68k_ip): Fully bracket initialization of archs.
|
||
Correct several formats for __LINE__ to be %d rather than %s.
|
||
(init_table): Fully bracket initialization.
|
||
Cast values larger than 0x7f assigned to fr_opcode to char.
|
||
|
||
* subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set.
|
||
Wrote non-BFD_ASSEMBLER subseg_new. Now subseg_new always takes a
|
||
section name, and subseg_set always takes a segT. Changed all
|
||
callers as appropriate.
|
||
* config/obj-coffbfd.c (change_to_section): Renamed to
|
||
obj_coff_add_segment. Corrected. Made callers use subseg_new.
|
||
* config/obj-coffbfd.h (obj_segment_name, obj_add_segment):
|
||
Define.
|
||
|
||
Mon Sep 13 13:15:03 1993 Doug Evans (dje@canuck.cygnus.com)
|
||
|
||
* config/tc-sparc.h (LOCAL_LABEL): Remove test for name[0] == 'L'.
|
||
|
||
Fri Sep 10 11:22:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-elf.h (S_SET_SIZE): Actually set the size.
|
||
|
||
Gcc lint.
|
||
* Added a number of casts to function calls.
|
||
* app.c (do_scrub_begin), as.c (main), expr.c (integer_constant,
|
||
operand, expr), read.c (read_begin, HANDLE_CONDITIONAL_ASSEMBLY,
|
||
read_a_source_file, s_align_bytes, demand_empty_rest_of_line,
|
||
ignore_rest_of_line, big_cons, is_it_end_of_statement, s_ignore),
|
||
read.h (is_name_beginner, is_part_of_name), config/obj-elf.c
|
||
(obj_elf_section), config/tc-i386.c (parse_register),
|
||
config/tc-sparc.c (isoctal, s_proc): Cast char
|
||
array indices to unsigned char.
|
||
* app.c (process_escape): Make static. Add prototype. Change
|
||
argument from char to int.
|
||
* as.c: Include output-file.h for prototypes. Comment out unused
|
||
function got_sig.
|
||
* Makefile.in (as.o): Depend on output-file.h.
|
||
* as.h (BAD_CASE): Cast val argument to long, and use %ld.
|
||
(pseudo_typeS): Add prototype to poc_handler field.
|
||
(print_version_id): Add prototype.
|
||
(xmalloc, xrealloc): Change size arguments to unsigned long.
|
||
(do_scrub_next_char): Add prototypes for function arguments.
|
||
(had_errors, had_warnings, scrub_from_file): Remove duplicate
|
||
declarations.
|
||
* atof-generic.c (atof_generic): Make size variables unsigned.
|
||
* cond.c (ignore_input): Removed unused local variable ptr.
|
||
* expr.c (floating_constant, integer_constant): Make static. Add
|
||
prototypes.
|
||
* flonum-copy.c (flonum_copy): Make size variables unsigned.
|
||
* frags.h: Add prototype for frag_init.
|
||
* hash.h, hash.c: Change hash values from char * to PTR, make hash
|
||
strings const, make returned error strings const char *. Added
|
||
prototypes for functions.
|
||
* input-file.h, input-file.c (input_file_buffer_size): Return
|
||
unsigned int.
|
||
* input-scrub.c (buffer_length): Make unsigned.
|
||
(input_scrub_push, input_scrub_pop): Make static.
|
||
* listing.c (list_symbol_table): Cast sprintf argument to unsigned
|
||
long and use %lx. Print name of segment rather than address of
|
||
structure.
|
||
(listing_list, listing_title): Change argument to int.
|
||
(listing_eject, listing_flags, listing_psize): Add int argument.
|
||
* listing.h: Corresponding declaration changes.
|
||
* obj.h (obj_emit_symbols): Rename prototype argument to avoid
|
||
shadowing.
|
||
* read.h: Change get_absolute_expression prototype to return
|
||
offsetT. Add prototype for next_char_of_string. Various
|
||
prototype changes.
|
||
* read.c: Remove prototype for next_char_of_string.
|
||
(pobegin): Make errtxt const. Make new_length, tmp_len and num
|
||
unsigned.
|
||
(s_abort, s_align_ptwo, s_comm, s_data, s_app_line, s_fill,
|
||
s_globl, s_lsym, s_org, s_set, s_text, s_desc): Add int argument.
|
||
Change all callers.
|
||
(s_comm): Change temp from valueT to offsetT. Cast to long when
|
||
printing and use %ld (only for error messages anyhow).
|
||
(s_long, s_int): Remove unused functions.
|
||
(cons): Change argument to int.
|
||
(emit_expr): Use %lx when printing longs.
|
||
(get_absolute_expression): Return offsetT, not long.
|
||
(get_stab_string_offset): Comment out unless
|
||
SEPARATE_STAB_SECTIONS.
|
||
(s_stab_generic): Remove unused offset. Define seg_is_new only
|
||
if SEPARATE_STAB_SECTIONS. Use toP only in local block.
|
||
* struc-symbol.h (verify_symbol_chain_2): Add prototype.
|
||
* symbols.c: Remove nested comment.
|
||
(symbol_new): Rename value to valu.
|
||
(colon): Use %ld and cast to long in error message.
|
||
* symbols.h: Remove duplicate verify_symbol_chain declaration.
|
||
* tc.h: Remove unused md_emit_relocations declaration.
|
||
(tc_gen_reloc): Add declaration.
|
||
* write.c (cvt_frag_to_fill): Change first argument name depending
|
||
on BFD_ASSEMBLER.
|
||
(write_relocs): Remove unused offset, frags. Remove tc_gen_reloc
|
||
declarations. Make n unsigned.
|
||
(write_contents): Remove unused i, n, relocs, fixp. Rename frags
|
||
to f to avoid shadowing.
|
||
(write_object_file): Define fragP only if not BFD_ASSEMBLER or not
|
||
WORKING_DOT_WORD. Remove unused keep. Only declare punt and
|
||
punt_it if they will be used. Make i and n unsigned.
|
||
(fixup_segment): Cast to long and use %ld in error message.
|
||
* xmalloc.c (xmalloc, xrealloc): Make size argument unsigned.
|
||
* config/obj-aout.h: Remove nested comment. Add prototype for
|
||
obj_aout_frob_symbol.
|
||
(obj_aout_line, obj_aout_desc): Add int argument.
|
||
* config/obj-ecoff.c: Changed build routines to use an unsigned
|
||
offset.
|
||
(add_string): Make len unsigned long.
|
||
(obj_ecoff_stab): Use %lu in error message.
|
||
* config/obj-elf.c (obj_elf_common): Comment out unused label
|
||
allocate_bss.
|
||
(obj_elf_frob_symbol): Return 0 (currently broken).
|
||
(obj_elf_desc, obj_elf_version, obj_elf_size, obj_elf_type,
|
||
obj_elf_ident, obj_elf_weak, obj_elf_local, obj_elf_common,
|
||
obj_elf_line, obj_elf_previous): Add int argument.
|
||
(obj_elf_write_symbol_p): Make static.
|
||
* config/obj-elf.h (obj_elf_write_symbol): Add prototype.
|
||
* config/tc-hppa.h: Remove declarations of functions declared in
|
||
read.h.
|
||
* config/tc-i386.c (ENCODE_RELAX_STATE): Cast to relax_substateT.
|
||
(s_bss): Add int argument.
|
||
(fits_in_signed_byte, smallest_imm_type): Make argument unsigned.
|
||
(dummy): Remove unused function.
|
||
(md_assemble): Rename local o to op to avoid shadowing.
|
||
(tc_gen_reloc): Rename local reloc to rel to avoid shadowing.
|
||
* config/tc-m68k.c (s_data1, s_data2): Add int argument.
|
||
* config/tc-mips.c (mips_ip, md_apply_fix): Cast to long and use
|
||
%ld in error messages.
|
||
* config/tc-sparc.c: Remove duplicate declarations.
|
||
(getExpression): Rewrite condition to avoid empty conditional
|
||
body.
|
||
(s_reg, s_proc, s_reserve, s_common, s_seg, s_xword): Add int
|
||
argument.
|
||
|
||
Thu Sep 9 17:10:00 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
Changes from Jeff Law:
|
||
|
||
* config/tc-hppa.c (md_assemble): Fix typo.
|
||
(pa_ip): Delete unused variables and labels. Do not check for
|
||
unsigned values being < 0, it can't happen.
|
||
(is_same_frag): Return a value in recursive call case.
|
||
(pa_callinfo): Delete unused variables and labels.
|
||
(pa_comm): Likewise.
|
||
(pa_copyright): Likewise.
|
||
(pa_export): Likewise.
|
||
(pa_import): Likewise.
|
||
(pa_param): Likewise.
|
||
(pa_space): Likewise.
|
||
(pa_subspace): Likewise.
|
||
|
||
Thu Sep 9 15:05:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* read.c (get_stab_string_offset, s_stab_generic): If
|
||
BFD_ASSEMBLER, call subseg_set rather than subseg_new.
|
||
|
||
Wed Sep 8 15:09:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-elf.c (obj_elf_section): Set SEC_LOAD when using
|
||
default flag values.
|
||
|
||
Tue Sep 7 10:22:52 1993 Stan Shebs (shebs@rtl.cygnus.com)
|
||
|
||
* read.c: (change_to_section): Don't include body if not MANY_SECTIONS.
|
||
|
||
* read.c: (s_stab, s_xstab, s_desc): New functions to parse
|
||
various stab-related directives.
|
||
* read.h: (s_stab, s_xstab, s_desc): New function prototypes.
|
||
* write.c: (merge_data_into_text): Fix ifdef tangle.
|
||
* config/obj-coffbfd.c (current_stab_symbol): Fake symbol
|
||
for stab reader to use.
|
||
* config/obj-coffbfdh.h (obj_symbol_type): Added fields for
|
||
stab reader, macros to access.
|
||
|
||
Fri Sep 3 16:44:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/obj-elf.h (elf_symbol): No longer special-cased on
|
||
sparcv9, since elf_symbol_type is now independent of size.
|
||
|
||
* config/obj-elf.h (elf_symbol): Fixed name of elf_symbol_type.
|
||
|
||
* config/tc-hppa.h (struct default_subspace_dict, struct
|
||
default_space_dict): Field "sort" is now unsigned char.
|
||
|
||
* config/tc-hppa.c (pa_def_subspaces, pa_def_spaces): Align
|
||
columns for easier reading.
|
||
(bcmp, index): Deleted USG-specific definitions. Should be dealt
|
||
with in ho-*.h, or in libiberty. Changed mention of index to
|
||
strchr.
|
||
(label_symbolP, label_symbol_defined, callinfo_found,
|
||
within_entry_exit, exit_processing_complete, within_procedure,
|
||
pa_def_subspaces, pa_def_spaces, pa_pseudo_op_moves_pc,
|
||
label_symbols_rootP, pa_get_label, pa_label_is_defined,
|
||
pa_undefine_label): Now static.
|
||
(movers): Now const, in addition to pointing to const data.
|
||
* config/tc-hppa.h (label_symbolS_rootP, pa_get_label,
|
||
pa_label_is_defined, pa_undefine_label, pa_pseudo_op_moves_pc):
|
||
Delete declarations.
|
||
|
||
Merged more changes from Jeff Law and Pete Hoogenboom:
|
||
|
||
* config/tc-hppa.c (pa_def_subspaces, pa_def_subspaces): Remove
|
||
entries for .stab and .stabstr.
|
||
|
||
* config/obj-elf.c: (elf_stab_symbol_string): Set the
|
||
SEC_LOAD attribute for the .stabstr section.
|
||
(obj_elf_stab_generic): Set the SEC_LOAD attribute for the
|
||
.stab section.
|
||
(obj_elf_stab_generic): Change '#if 1' to '#if 0'.
|
||
(obj_elf_stab_generic): Incorrect byte count on call to
|
||
md_number_to_chars function.
|
||
|
||
* config/tc-hppa.c (hppa_tc_symbol): Static functions need
|
||
argument relocation bits too.
|
||
|
||
* config/tc-hppa.c (pa_stringer): Correctly handle escaping
|
||
characters which should appear unaltered in the output string (for
|
||
example an escaped double-quote).
|
||
|
||
* config/tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Always
|
||
initialize name.
|
||
(pa_parse_neg_cmpsub_cmpltr): Likewise.
|
||
(pa_parse_nonneg_add_cmpltr): Likewise.
|
||
(pa_parse_neg_add_cmpltr): Likewise.
|
||
|
||
* config/tc-hppa.h (parse_cons_expression_hppa): Remove prototype
|
||
for now.
|
||
(cons_fix_new_hppa): Likewise.
|
||
* config/tc-hppa.c (md_apply_fix): Fix type of valp to match
|
||
prototype.
|
||
|
||
* config/tc-hppa.c: Include libhppa.h.
|
||
|
||
* config/tc-hppa.h: Delete extern declarations of functions
|
||
found in libhppa.h.
|
||
|
||
* config/tc-hppa.c (pa_space): Rework to avoid unwanted #ifdef
|
||
OBJ_ELF conditionals.
|
||
* config/tc-hppa.h (LOCAL_LABEL): Correctly identify local labels
|
||
on the PA.
|
||
|
||
Thu Sep 2 10:43:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (macro_build): Accept 'z', and ignore it.
|
||
(macro): Use "z,s,t" for div instructions to match corresponding
|
||
change in opcode table.
|
||
(mips_ip): Added 'z'--must be zero register.
|
||
|
||
Wed Sep 1 15:56:42 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Declare
|
||
tc_gen_reloc correctly.
|
||
|
||
* configure.in: Use "case" instead of "if" when possible. Rewrote
|
||
Makefile editing to reduce work done. Treat "hppa*" as "hppa".
|
||
|
||
Wed Sep 1 12:19:07 1993 K. Richard Pixley (rich@sendai.cygnus.com)
|
||
|
||
* config/obj-coffbfd.c (obj_coff_section): add 'd' as an alias for
|
||
section type of data. 'd' seems to be used for m88k.
|
||
|
||
Wed Aug 25 22:33:22 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (mips_align, s_stringer, s_cons, s_float_cons,
|
||
s_mips_space): Set insn_label to NULL to avoid changing it at the
|
||
next .align statement.
|
||
(append_insn): Don't swap jal with instruction that sets the
|
||
register that jal sets.
|
||
|
||
Wed Aug 25 16:15:57 1993 K. Richard Pixley (rich@sendai.cygnus.com)
|
||
|
||
* configure.in: recognize m88110.
|
||
|
||
Wed Aug 25 13:37:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
Merged changes from Pete Hoogenboom and Jeff Law at Utah:
|
||
* config/tc-hppa.c (pa_build_unwind_subspace): SEC_ALLOC should
|
||
not be on for .hppa_unwind.
|
||
(md_pseudo_table): .PARAM and .param are valid pseudo-ops for GAS.
|
||
(pa_param): New function to handle .PARAM directives.
|
||
(pa_ip): Pass "isbranch" argument down to pa_parse_*_compltr
|
||
functions. Handle '|' for movb; allow movb,n.
|
||
(pa_parse_nonneg_cmpsub_cmpltr): Delete old useless
|
||
version. Handle cases where no completer exists for
|
||
comb,n or addb,n.
|
||
(pa_parse_neg_cmpsub_cmpltr): Handle cases where no
|
||
completer exists for comb,n or addb,n. Make logic
|
||
mirror that of pa_parse_nonneg_cmpsub_cmpltr.
|
||
(pa_parse_nonneg_add_cmpltr): Likewise.
|
||
(pa_parse_neg_add_cmpltr): Likewise.
|
||
* config/tc-hppa.h (pa_param): Declare.
|
||
|
||
Tue Aug 24 15:41:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-hppa.c (hppa_tc_make_symextn_section): Now static.
|
||
Added forward declaration.
|
||
|
||
Merged changes from Pete Hoogenboom and Jeff Law at Utah:
|
||
|
||
* config/obj-elf.c (elf_frob_file): Arguments were incorrect on
|
||
call to elf_tc_make_sections.
|
||
(obj_elf_version): A .note section shouldn't have the SEC_ALLOC
|
||
attribute.
|
||
|
||
* config/tc-hppa.c (hppa_tc_make_sections): Add some processing to
|
||
handle symbol extension sections.
|
||
|
||
* config/tc-hppa.c (pa_build_symextn_section): New function to
|
||
create a symbol extension section.
|
||
(pa_export_args): Make call to pa_build_symextn_section.
|
||
(hppa_tc_symbol, hppa_tc_make_sections,
|
||
hppa_tc_make_symextn_section): New functions.
|
||
* config/tc-hppa.h: Update elf_tc_symbol and elf_tc_make_sections
|
||
macros.
|
||
|
||
* read.c (emit_expr): Place check for TC_CONS_FIX_NEW in the
|
||
BFD_ASSEMBLER branch as well.
|
||
|
||
* config/tc-hppa.h: If ELF is the target object format, define
|
||
some ELF- and hppa-specific types and constants.
|
||
|
||
* config/tc-hppa.c (getExpression): Fix a typo.
|
||
|
||
* read.c (read_a_source_file): Use TC_EQUAL_IN_INSN to determine
|
||
if a `=' is part of an instruction.
|
||
(read_a_source_file): Handle case where end-of-line markers are
|
||
also used within instructions.
|
||
* config/tc-hppa.h (TC_EQUAL_IN_INSN, TC_EOL_IN_INSN): Define.
|
||
|
||
* config/tc-hppa.c (md_apply_fix_1): Keep relocations for
|
||
out-of-range branches/'calls using "bl" or calls which may need
|
||
argument relocation stubs. Do not need/keep relocations for
|
||
conditional branches.
|
||
(elf_hppa_final_processing): Fix calculation of function size.
|
||
|
||
* config/obj-elf.c (obj_elf_version): Mark .note section as
|
||
READONLY.
|
||
|
||
* config/tc-hppa.c (parse_cons_expression_hppa): Pass exp, not the
|
||
address of exp, to expression.
|
||
(pa_build_unwind_subspace): Turn SEC_HAS_CONTENTS flag on.
|
||
(md_apply_fix_1): Delete unwanted comments.
|
||
(process_exit): Symbols marking the end of a function are always
|
||
BSF_LOCAL.
|
||
|
||
* config/tc-hppa.c: Include elf32-hppa.h from BFD tree.
|
||
(pa_space): Declare and initialize gdb_section.
|
||
|
||
* config/obj-elf.c (elf_frob_file): Change
|
||
elf_tc_final_processing_hook to elf_tc_final_processing.
|
||
|
||
* config/tc-hppa.c (fix_new_hppa): Fix argument list to match
|
||
argument type declarations.
|
||
(getExpression): Fix typo.
|
||
(pa_export_args): Change elf_symbol_type to elf32_symbol_type.
|
||
(elf_hppa_final_processing): Likewise. Name changed from
|
||
elf_hppa_final_processing_hook.
|
||
(start_symbol_root, start_symbol_last): Deleted.
|
||
|
||
* config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION): Fix typo.
|
||
|
||
* config/tc-hppa.h: Replace "symbolS" with "struct symbol" to
|
||
avoid changing include ordering.
|
||
|
||
* config/tc-hppa.c (pa_ip, case 'y'): Handle just like 't'.
|
||
|
||
Mon Aug 23 12:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (set_at): Added unsignedp argument. Use
|
||
load_register.
|
||
(set_at_unsigned): Removed; changed callers to use set_at.
|
||
(load_register): Removed unused ip argument. Changed callers.
|
||
(append_insn): Don't swap branch and branch likely.
|
||
(macro_build): Handle 'u'.
|
||
(load_register): Handle 64 bit constants.
|
||
(macro): Added M_DABS, removed M_ABSU. Numerous changes to
|
||
support 64 bit constants.
|
||
(mips_ip): Use hex constants in range checks for clarity.
|
||
(md_number_to_chars): Support 8 byte values.
|
||
|
||
Fri Aug 20 16:50:59 1993 K. Richard Pixley (rich@sendai.cygnus.com)
|
||
|
||
* config/tc-m88k.h: updated copyrights.
|
||
(TC_CONS_RELOC): declare to be RELOC_32.
|
||
|
||
Fri Aug 20 11:16:44 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (mips_isa): New static variable.
|
||
(md_begin): Initialize mips_isa based on TARGET_CPU. Don't sanity
|
||
check macros. Set text alignment and GP size here.
|
||
(md_assemble): Don't set text alignment and GP size here.
|
||
(append_insn): Don't insert NOPs for load delays if mips_isa >= 2.
|
||
Use the right mask and shift for WRITE_FPR_T and WRITE_FPR_S. Add
|
||
a NOP after a branch likely.
|
||
(mips_emit_delays): Don't insert NOPS for load delays if mips_isa
|
||
>= 2.
|
||
(macro): Support r6000 and r4000 macros.
|
||
(mips_ip): Check insn ISA level against mips_isa before using it.
|
||
Added 'x' case for ignored register.
|
||
(md_parse_option): Handle -mipsN and -mcpu=XX.
|
||
|
||
Fri Aug 20 01:26:52 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-i386.c (md_pseudo_table) [OBJ_ELF]: Handle ".zero".
|
||
|
||
Thu Aug 19 12:15:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-sparc.c (s_local): Function moved and renamed...
|
||
* config/obj-elf.c (obj_elf_local): ...to here.
|
||
* config/tc-sparc.c (md_pseudo_table), config/obj-elf.c
|
||
(obj_pseudo_table): Move handling of ".local".
|
||
|
||
* tc.h (md_parse_option): Don't declare if defined as a macro.
|
||
|
||
* config/tc-i386.h (NO_RELOC) [BFD_ASSEMBLER]: Define as
|
||
BFD_RELOC_NONE.
|
||
(md_parse_option): New macro, converted from function.
|
||
* config/tc-i386.c (md_parse_option): Function deleted.
|
||
(comment_chars) [OBJ_ELF]: Include "/".
|
||
(line_comment_chars) [OBJ_ELF || TE_I386AIX]: Don't include "/".
|
||
(md_assemble): Cast 0xe9 to char explicitly, to avoid compiler
|
||
warning.
|
||
(md_assemble, md_estimate_size_before_relax, md_create_long_jump):
|
||
Call reloc for fix_new type, or use correct enumerator, instead of
|
||
always using NO_RELOC.
|
||
(i386_operand): Change "ifndef I386COFF" to "ifdef OBJ_AOUT" for
|
||
tests for valid section.
|
||
(md_convert_frag) [BFD_ASSEMBLER]: Compensate for frag start
|
||
address.
|
||
(md_apply_fix_1) [BFD_ASSEMBLER]: For pc-relative reloc with
|
||
symbol, compensate for location of reloc.
|
||
(reloc, BFD_RELOC_32, BFD_RELOC_32_PCREL) [!BFD_ASSEMBLER]: Define
|
||
to return zero.
|
||
|
||
Wed Aug 18 16:51:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/obj-elf.c: Undef NO_RELOC before including aout/aout64.h.
|
||
(obj_elf_weak): New function.
|
||
(obj_pseudo_table): Handle ".weak".
|
||
(obj_elf_section): If section directive includes a string, ignore
|
||
it for now. Accept "progbits" flag.
|
||
(obj_elf_type): Accept `@' before flag name.
|
||
|
||
* write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Get rid of `if(1)'
|
||
condition.
|
||
(fixup_segment) [BFD_ASSEMBLER]: Use bfd_is_com_section, rather
|
||
than checking for bfd_com_section directly.
|
||
(fixup_segment): Simplify range check.
|
||
(fixup_segment) [OBJ_COFF && TC_I960]: Simplify cpp condition
|
||
test.
|
||
|
||
* symbols.h (S_SET_WEAK): Declare.
|
||
* symbols.c (S_SET_WEAK): New function.
|
||
(S_SET_EXTERNAL, S_CLEAR_EXTERNAL): Don't bother with BSF_EXPORT,
|
||
it's not a separate flag any more. Clear BSF_WEAK.
|
||
|
||
* read.c (potable): Treat "string" like "asciz".
|
||
|
||
Wed Aug 18 15:30:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (append_insn): Don't swap branch instructions
|
||
if .set nobopt or .set volatile.
|
||
(gp_reference): .lit8 and .lit4 are accessed via the GP register.
|
||
(macro): Added cases M_LI_S, M_LI_SS. Fixed M_LI_D and M_LI_DD.
|
||
(mips_ip): Added cases 'F', 'L', 'f', 'l' for floating point.
|
||
* config/obj-ecoff.c: Renamed some variables to avoid shadow
|
||
warnings.
|
||
|
||
Mon Aug 16 14:16:02 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
|
||
|
||
* config/obj-coff.h (S_IS_COMMON): add missing backslash
|
||
|
||
* configure.in (z8k-*-{coff,sim}): use coffbfd for this target
|
||
|
||
Thu Aug 12 11:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (mips_ip): Suggested by
|
||
davidj@ICSI.Berkeley.EDU (David Johnson): Don't accept symbolic
|
||
names for 'E' and 'G' argument types (coprocessor registers) and
|
||
don't warn if $1 is used on the coprocessor.
|
||
(macro): Handle M_{L,S}WC{0,2,3}_AB correctly.
|
||
|
||
Mon Aug 9 12:09:14 1993 Doug Evans (dje@canuck.cygnus.com)
|
||
|
||
* read.c (emit_expr): Use BFD_RELOC_16 for 2-byte values.
|
||
* config/tc-sparc.c (md_apply_fix, tc_gen_reloc): Handle
|
||
BFD_RELOC_16.
|
||
* config/tc-sparc.h (WORKING_DOT_WORD): Define.
|
||
|
||
Mon Aug 9 13:36:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* write.c (merge_data_into_text): Define only if BFD_ASSEMBLER is
|
||
defined or BFD is not.
|
||
(relax_and_size_all_segments): Declare local variable fragP.
|
||
|
||
Fri Aug 6 15:22:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-sparc.c (md_apply_fix, case BFD_RELOC_32): Fill in
|
||
bytes with real values, not zeros.
|
||
|
||
Fri Aug 6 10:57:59 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* configure.in (mips-*-riscos*, mips-*-sysv*): New (untested)
|
||
targets, using ecoff and mips-big.
|
||
|
||
* config/tc-mips.c (mips_ip): From davidj@ICSI.Berkeley.EDU (David
|
||
Johnson): Added case for 'C' for coprocessor instruction codes.
|
||
|
||
Thu Aug 5 13:08:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): Fill in
|
||
bytes with real values, not zeros.
|
||
(md_pseudo_table): Call cons for .uaxword.
|
||
|
||
* config/obj-elf.c (obj_pseudo_table): Handle ".8byte".
|
||
|
||
* read.c (emit_expr): Use BFD_RELOC_64 for 8-byte expressions.
|
||
|
||
* write.c (write_object_file): Test DEBUG_SYMS instead of DEBUG
|
||
for verifying symbol chain.
|
||
(merge_data_into_text, relax_and_size_all_segments): New
|
||
functions, split out from write_object_file.
|
||
|
||
Tue Aug 3 15:43:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/obj-elf.c (obj_elf_stab_generic, in disabled code): If
|
||
debug section is new, allocate an extra 12 bytes at its start. If
|
||
".stabs" type is N_SO, fill in filename symbol field of that first
|
||
entry. Return early if "goof", to simplify later code slightly.
|
||
(adjust_stab_sections): New function.
|
||
(elf_frob_file): Apply adjust_stab_sections to each section.
|
||
|
||
* config/obj-elf.c (obj_elf_section, obj_elf_previous): No longer
|
||
static.
|
||
* config/obj-elf.h (obj_elf_section, obj_elf_previous): Declare.
|
||
* config/tc-sparc.c (md_pseudo_table): Call them for "pushsection"
|
||
and "popsection", and call cons for "uaword" and "uahalf".
|
||
|
||
* config/obj-elf.c (obj_elf_version): Use English in error
|
||
messages.
|
||
|
||
Tue Aug 3 11:29:06 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/obj-ecoff.c: Updated for BFD ECOFF changes. Now gets the
|
||
swapping routines and external structure sizes via the
|
||
ecoff_backend information. No longer includes coff/mips.h.
|
||
|
||
Mon Aug 2 17:35:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-ecoff.c (get_tag): Save tag name in permanent memory
|
||
and in hash_ptr->string.
|
||
|
||
* app.c (do_scrub_next_char): Reset state to 0 after .appline if
|
||
file name is not seen.
|
||
|
||
Mon Aug 2 11:51:41 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): New case,
|
||
parallel to BFD_RELOC_32.
|
||
(tc_gen_reloc): Accept BFD_RELOC_64.
|
||
|
||
Thu Jul 29 22:21:28 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* write.c: Don't use short int in a prototype.
|
||
|
||
* expr.c (operand): Make return value simply depend on contents of
|
||
returned expression.
|
||
|
||
Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
|
||
|
||
* configure.in: sparc*-aout and sparc*-vxworks are BFD assemblers
|
||
|
||
Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
|
||
|
||
* config/ho-sunos.h: remove some old function decls that conflict
|
||
w/ ANSI, and which weren't needed anyway
|
||
|
||
Wed Jul 28 16:34:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/obj-elf.h (obj_frob_symbol): Renamed from tc_frob_symbol,
|
||
and disabled since it breaks Ian's new symbol-value code.
|
||
|
||
* expr.c (integer_constant): Accept more digits if BFD64.
|
||
|
||
Wed Jul 28 11:30:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-m68k.c (m68k_ip): If we have a normal constant when we
|
||
expect a bignum, turn it into a bignum. Output extra zeroes
|
||
before a short bignum, rather than after.
|
||
|
||
Tue Jul 27 15:54:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* symbols.c (symbol_new): Conditionalize verify_symbol_chain call
|
||
on DEBUG_SYMS, not DEBUG.
|
||
(symbol_remove): Likewise.
|
||
(symbol_insert): Likewise.
|
||
|
||
Tue Jul 27 08:45:05 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/tc-mips.c (mips_optimize): New static variable.
|
||
(append_insn): If mips_optimize == 0, always insert NOP
|
||
instructions. If mips_optimize < 2, don't swap branches.
|
||
(md_parse_option): If -Ox or -gx, set mips_optimize accordingly.
|
||
|
||
Mon Jul 26 18:02:43 1993 K. Richard Pixley (rich@sendai.cygnus.com)
|
||
|
||
* Makefile.in (clean): if testsuite does not exist, then skip it.
|
||
|
||
Fri Jul 23 14:13:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-mips.c (prev_insn_unreordered,
|
||
prev_prev_insn_unreordered): New static variables.
|
||
(append_insn): Don't swap branch instruction if
|
||
prev_prev_insn_unreordered (see comment).
|
||
(mips_no_prev_insn): Clear the unreordered variables.
|
||
(s_mipsset): When turning on reordering, set the unreordered
|
||
variables.
|
||
|
||
Fri Jul 23 13:09:44 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/obj-elf.c (obj_elf_section): Sections ".init" and ".fini"
|
||
are also magic, and have special default flag settings.
|
||
(obj_elf_frob_symbol): Since the return value from this function
|
||
isn't used, don't bother calling obj_elf_write_symbol_p, since it
|
||
doesn't accomplish anything else.
|
||
|
||
* config/tc-sparc.c (md_section_align): Round up section size only
|
||
for a.out format.
|
||
|
||
* symbols.c: Don't define DEBUG by default.
|
||
|
||
Thu Jul 22 12:09:41 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* write.c (fix_new_exp): Handle a O_uminus expression.
|
||
|
||
* expr.c (expr): Don't let absolute_section override
|
||
undefined_section for the return value.
|
||
|
||
* read.c (read_a_source_file): In NO_PSEUDO_DOT case, if we find a
|
||
pseudo-op with a poc_handler field of NULL, ignore it and treat it
|
||
as an instruction instead.
|
||
* config/tc-m88k.c (md_pseudo_table): Add "set" with a NULL
|
||
poc_handler field.
|
||
|
||
* config/tc-h8500.c (md_begin): Use a local variable when
|
||
initializing md_relax_table to avoid warnings about modifying a
|
||
supposedly const data structure.
|
||
|
||
Thu Jul 22 10:58:51 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
|
||
|
||
* config/obj-aout.c: Only include aout/aout64.h if BFD_ASSEMBLER
|
||
is defined.
|
||
|
||
Wed Jul 21 17:32:02 1993 Fred Fish (fnf@deneb.cygnus.com)
|
||
|
||
* configure.in (case ${host}): Map *-*-sysv4* to gas_host=sysv.
|
||
* configure.in (case ${generic_target}): Add i[34]86-*-sysv4*
|
||
case to set obj_format=elf. Must go before i386-*-sysv* case that
|
||
sets obj_format=coffbsd. Add *-*-sysv4* to *-*-elf and
|
||
*-*-solaris case, and move to before *-sysv* case that wants to
|
||
set obj_format to coff.
|
||
* config/tc-i386.c (i386_operand): Change all 'exp.X_op' to
|
||
'exp->X_op'.
|
||
* config/tc-i386.c (md_apply_fix): Fix valp to be 'valueT *' for
|
||
BFD_ASSEMBLER case.
|
||
|
||
Wed Jul 21 12:47:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-aout.c: Include aout/aout64.h.
|
||
(obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor
|
||
symbol, so that BFD doesn't tamper with the type.
|
||
|
||
* read.c (read_a_source_file): If NO_PSEUDO_DOT is defined, look
|
||
up opcodes as pseudo-ops even if they don't start with '.'.
|
||
* config/tc-m88k.h (NO_PSEUDO_DOT): Define.
|
||
* config/tc-m88k.c (md_assemble): Removed special pseudo-op
|
||
handling.
|
||
(md_apply_fix): Set fx_offset to the upper 16 bits of the reloc.
|
||
Output the low 16 bits for RELOC_HI16, not the high 16 bits.
|
||
* config/obj-coffbfd.c (do_relocs_for): If TC_M88K, set the
|
||
r_offset field of the reloc to the fixup offset.
|
||
(fixup_segments): If TC_M88K, don't warn about fixup overflows.
|
||
* doc/as.texinfo: Minor updates.
|
||
|
||
Tue Jul 20 19:28:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* Extensive changes to permit symbols to contain any expression
|
||
type and to delay the computation of the expression until the
|
||
value is actually needed. This permits setting symbols to values
|
||
calculated based on object code size. Expressions were changed to
|
||
no longer be in a section, to stop the overloading of segment and
|
||
expression type that previously occurred.
|
||
|
||
* as.c (big_section, pass1_section, diff_section, absent_section):
|
||
Removed.
|
||
(expr_section): Added (used for dummy symbols which hold
|
||
intermediate expression values).
|
||
(perform_an_assembly_pass): Create expr_section, do not create the
|
||
sections now removed.
|
||
* as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and
|
||
SEG_DIFFERENCE. Added SEG_EXPR.
|
||
(SEG_NORMAL): Corresponding changes.
|
||
* subsegs.c (seg_name, subsegs_begin): Changed accordingly.
|
||
* write.c (write_object_file): Ditto.
|
||
* config/obj-aout.c (seg_N_TYPE): Ditto.
|
||
* config/obj-bout.c (seg_N_TYPE): Ditto.
|
||
* config/obj-coff.c (seg_N_TYPE): Ditto.
|
||
* config/obj-coffbfd.c (seg_N_TYPE): Ditto.
|
||
* config/obj-vms.c (seg_N_TYPE): Ditto.
|
||
|
||
* expr.h (operatorT): Moved in from expr.c, added some values.
|
||
(expressionS): Added X_op field, removed X_seg field; renamed
|
||
X_subtract_symbol to X_op_symbol.
|
||
* expr.c: Extensive changes to assign expression types rather than
|
||
sections and to simplify the parsing.
|
||
* write.c (fix_new_internal): New static function.
|
||
(fix_new): Removed sub_symbol argument.
|
||
(fix_new_exp): New function, takes expression argument.
|
||
* write.h: Prototype changes for fix_new and fix_new_exp.
|
||
* cond.c (s_if): Changed accordingly.
|
||
* read.c (s_lsym, pseudo_set, emit_expr, parse_bitfield_cons,
|
||
parse_repeat_cons, get_segmented_expression,
|
||
get_known_segmented_expression, get_absolute_expression): Ditto.
|
||
* symbols.c (resolve_symbol_value, S_GET_VALUE, S_SET_VALUE):
|
||
Ditto.
|
||
* write.c (write_object_file): Ditto.
|
||
* config/obj-coff.c (obj_coff_def, obj_coff_val): Ditto.
|
||
* config/obj-coffbfd.c (obj_coff_def, obj_coff_val,
|
||
obj_coff_endef, yank_symbols): Ditto.
|
||
* config/obj-elf.c (obj_elf_stab_generic, obj_elf_size): Ditto.
|
||
* config/tc-a29k.c (md_assemble, parse_operand, machine_ip,
|
||
print_insn, md_operand): Ditto.
|
||
* config/tc-h8300.c (parse_exp, colonmod24, check_operand,
|
||
do_a_fix_imm, build_bytes): Ditto.
|
||
* config/tc-h8500.c (parse_exp, skip_colonthing, parse_reglist,
|
||
get_specific, check, insert, md_convert_frag): Ditto.
|
||
* config/tc-hppa.c (the_insn, fix_new_hppa, cons_fix_new_hppa,
|
||
md_assemble, pa_ip, getExpression, getAbsoluteExpression,
|
||
evaluateAbsolute, pa_build_unwind_subspace, pa_entry,
|
||
process_exit): Ditto.
|
||
* config/tc-hppa.h (STAB_FIXUP, is_DP_relative, is_PC_relative,
|
||
is_complex): Ditto.
|
||
* config/tc-i386.c (pe, md_assemble, i386_operand,
|
||
md_estimate_size_before_relax, md_create_long_jump): Ditto.
|
||
* config/tc-i860.c (md_assemble, getExpression, print_insn):
|
||
Ditto.
|
||
* config/tc-i960.c (parse_expr, subs, segs, md_convert_frag,
|
||
get_cdisp, mem_fmt, parse_ldconst, relax_cobr, s_sysproc,
|
||
i960_handle_align): Ditto.
|
||
* config/tc-m68k.c (struct m68k_exp, struct m68k_it, seg, op,
|
||
subs, add_fix, isvar, m68k_ip, md_assemble, md_convert_frag_1,
|
||
md_estimate_size_before_relax, md_create_long_jump, get_num):
|
||
Ditto.
|
||
* config/tc-m88k.c (md_assemble, get_imm16, get_pcr,
|
||
md_create_short_jump, md_create_long_jump): Ditto.
|
||
* config/tc-mips.c (md_assemble, append_insn, gp_reference,
|
||
macro_build, macro, my_getExpression): Ditto. Also removed
|
||
get_optional_absolute_expression; just use get_absolute_expression
|
||
instead.
|
||
* config/tc-ns32k.c (get_addr_mode, evaluate_expr, convert_iif,
|
||
fix_new_ns32k, fix_new_ns32k_exp, cons_fix_new_ns32k): Ditto.
|
||
* config/tc-ns32k.h (fix_new_ns32k prototype): Ditto.
|
||
* config/tc-sh.c (parse_exp, check, insert, md_convert_frag):
|
||
Ditto.
|
||
* config/tc-sparc.c (md_assemble, sparc_ip, getExpression,
|
||
print_insn): Ditto.
|
||
* config/tc-tahoe.c (struct top, md_estimate_size_before_relax,
|
||
tip_op, md_assemble): Ditto.
|
||
* config/tc-vax.c (seg_of_operand, md_assemble,
|
||
md_estimate_size_before_relax, md_create_long_jump): Ditto.
|
||
* config/tc-z8k.c (parse_exp, check_operand, newfix): Ditto.
|
||
|
||
Tue Jul 20 12:17:16 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
|
||
|
||
* configure.in: i386-lynx is the same as i386-coff
|
||
|
||
Mon Jul 19 15:21:20 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
|
||
|
||
* config/obj-elf.c (obj_elf_previous): New function.
|
||
(previous_section, previous_subsection): New vars.
|
||
(obj_elf_section): Save current place in case DWARF code wants us
|
||
to pop back to it. Handle unquoted section name as well as quoted
|
||
section name. Don't crash on invalid strings.
|
||
(obj_pseudo_table): Handle new pseudos "previous", "2byte", and
|
||
"4byte".
|
||
|
||
* config/obj-elf.h: Don't include struc-symbol.h.
|
||
(obj_elf_frob_symbol): Declare arg as struct symbol *.
|
||
|
||
* config/tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Local labels can start with
|
||
"L" or "_.L_".
|
||
|
||
* write.c (write_relocs): New function, split off from
|
||
write_contents. Use memset instead of bzero.
|
||
(write_object_file): Apply write_relocs to each section before
|
||
applying write_contents.
|
||
|
||
* read.c (read_begin): Call obstack_begin with values closer to 1K
|
||
multiples.
|
||
(read_a_source_file, big_cons, float_cons): Use memcpy instead of
|
||
bcopy.
|
||
|
||
Mon Jul 19 14:30:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/tc-m68k.c (m68k_ip_op): Don't decrement strend when
|
||
calculating opP->isiz; this permits the expression size to be
|
||
determined as well, later on.
|
||
|
||
* expr.c (clean_up_expression): Don't cancel the subtraction of
|
||
undefined symbols.
|
||
|
||
* read.c (s_data), config/obj-coffbfd.c (obj_coff_data): If -R,
|
||
switch to text section rather than data section.
|
||
|
||
Mon Jul 19 12:35:39 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-m68k.c (m68k_ip, case AINDX): Add 6 to operand
|
||
expression (to take the pc-rel instruction itself into account)
|
||
before using the expression, instead of after.
|
||
|
||
Fri Jul 16 08:56:04 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* read.c (float_cons): Simplified parsing logic. If
|
||
REPEAT_CONS_EXPRESSIONS is defined, accept a repeat count.
|
||
|
||
* symbols.c (colon): Rather than a special case for TC_HPPA,
|
||
use new macro tc_frob_label.
|
||
* config/tc-hppa.h (tc_frob_label): Define.
|
||
|
||
* config/tc-mips.c: Many changes to support simple assembler
|
||
optimization.
|
||
(insn_label, prev_insn, prev_prev_insn, dummy_opcode,
|
||
prev_insn_valid, prev_insn_frag, prev_insn_where,
|
||
prev_insn_fixp, prev_insn_is_delay_slot): New static
|
||
variables.
|
||
(insn_uses_reg, mips_no_prev_insn, mips_emit_delays,
|
||
mips_align, s_stringer, s_mips_space): New static functions.
|
||
(mips_define_label): New global function.
|
||
(md_pseudo_table): For "ascii", "asciz", "asciiz", call
|
||
s_stringer. Changed argument to float_cons from 0 or 1 to 'f'
|
||
or 'd'. For "space" call s_mips_space.
|
||
(md_begin): Call mips_no_prev_insn.
|
||
(append_insn): Only insert necessary NOP instructions.
|
||
(macro): Call mips_emit_delays before setting mips_noreorder.
|
||
Increment and decrement mips_noreorder rather than using
|
||
save_reorder_condition. Don't bother to use noreorder in
|
||
M_L_DOB and M_L_DAB, since append_insn will not insert a NOP.
|
||
(md_atof): Handle floating point numbers correctly for both
|
||
big and little endian targets.
|
||
(s_align, s_cons): Call mips_align rather than frag_align.
|
||
(s_change_seg, s_cons): Call mips_emit_delays.
|
||
(s_float_cons): Let float_cons do the work.
|
||
(s_mipsset): Call mips_emit_delays when setting noreorder.
|
||
* config/tc-mips.h (tc_frob_label): Define to be
|
||
mips_define_label.
|
||
|
||
* config/obj-ecoff.c (ecoff_build_symbols, ecoff_build_procs,
|
||
ecoff_frob_files): Consistently use S_GET_VALUE rather than
|
||
bfd_asymbol_value. Warn if taking difference of symbols in
|
||
different segments.
|
||
|
||
Thu Jul 15 11:51:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* config/obj-ecoff.c (ecoff_frob_file): Discard all open scopes,
|
||
with a warning.
|
||
|
||
* config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjust
|
||
by md_pcrel_from if we are relocating against a symbol (we still
|
||
need md_pcrel_from for a PC relative relocation within the same
|
||
file).
|
||
* config/tc-m88k.c (md_pcrel_from): Corrected return value.
|
||
(omagic): Removed unused variable.
|
||
|
||
* Preliminary support for m88k-coff.
|
||
* configure.in (m88k-*-coff*): New target. Use coffbfd and
|
||
m88kcoff.
|
||
* config/m88kcoff.mt: New file.
|
||
* read.c (lex_type): New macro LEX_AT to set lex type of '@'.
|
||
(pseudo_set): Handle difference of symbols in different fragments
|
||
by saving the entire expression as the value of the symbol.
|
||
* symbols.c (resolve_symbol_value): Resolve difference
|
||
expressions.
|
||
* config/obj-coffbfd.c (obj_pseudo_table): If TC_M88K, accept
|
||
"sdef" as a synonym for "def".
|
||
* config/obj-coffbfd.h: If TC_M88K, include coff/m88k.h and set
|
||
TARGET_FORMAT.
|
||
(S_IS_LOCAL): Any symbol which includes \001 in the name is local.
|
||
* config/tc-m88k.c, config/tc-m88k.h: Numerous changes to bring
|
||
m88k port up to date, and to add COFF support.
|
||
|
||
Wed Jul 14 15:09:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||
|
||
* Removed sy_forward and replaced it with an undefined expression
|
||
as the value of a symbol.
|
||
* struc-symbol.h (struct symbol): Removed sy_forward field. Added
|
||
sy_resolved and sy_resolving single bit fields.
|
||
* symbols.c (symbol_new): Don't initialize sy_forward field.
|
||
(resolve_symbol_value): New function to adjust symbol value by
|
||
fragment address, using recursion to resolve forward symbols.
|
||
* symbols.h: Added prototype for new function.
|
||
* read.c (pseudo_set): Set symbolP->sy_value to an undefined
|
||
expression rather than setting symbolP->sy_forward.
|
||
* write.c (write_object_file): Use resolve_symbol_value on
|
||
symbols, keeping the common case (the old behaviour) inline.
|
||
* config/obj-aout.c (obj_aout_frob_symbol): Removed sy_forward
|
||
handling (subsumed by write.c change).
|
||
* config/obj-coff.c, config/obj-coffbfd.c (obj_coff_val): Set
|
||
sy_value rather than sy_forward.
|
||
* config/obj-coffbfd.c (obj_coff_endef, yank_symbols): Check
|
||
expression segment rather than sy_forward.
|
||
(yank_symbols): Use resolve_symbol_value.
|
||
(crawl_symbols): Removed extra pass over symbols.
|
||
* config/obj-aout.c, config/obj-bout.c, config/obj-coff.c,
|
||
config/obj-vms.c (obj_crawl_symbol_chain): Removed extra pass over
|
||
symbols which handled sy_forward; use resolve_symbol_value
|
||
instead.
|
||
* config/obj-coff.h, config/obj-coffbfd.h (obj_frob_forward_symbol):
|
||
Define.
|
||
* config/obj-elf.c (obj_elf_stab_generic): Check expression
|
||
segment rather than sy_forward.
|
||
* config/obj-vms.c (VMS_Check_For_Main): Don't initialize
|
||
sy_forward; do initialize sy_resolved and sy_resolving.
|
||
* config/tc-hppa.h (STAB_FIXUP): Use sy_value, not sy_forward.
|
||
|
||
* Changes to keep a full expression as the value of a symbol, not
|
||
just a longword:
|
||
* struc-symbol.h: New field sy_value.
|
||
* as.h: Include expr.h before struc-symbol.h.
|
||
* expr.h: Use struct symbol rather than symbolS.
|
||
* symbols.c (S_GET_VALUE, S_SET_VALUE): Rewrote to retrieve value
|
||
of sy_value field; compile unconditionally, not just if
|
||
BFD_ASSEMBLER.
|
||
* symbols.h: Compile S_{SG}ET_VALUE prototypes unconditionally.
|
||
* write.c (write_object_file): Set BFD symbol value to gas symbol
|
||
value.
|
||
* config/obj-aout.h, config/obj-bout.h, config/obj-coff.h,
|
||
config/obj-coffbfd.h, config/obj-generic.h, config/obj-vms.h
|
||
(S_GET_VALUE, S_SET_VALUE): Removed macro definitions.
|
||
* config/obj-ieee.c (S_GET_VALUE, S_SET_VALUE): Removed.
|
||
* config/obj-coff.h, obj-coffbfd.h: Rewrote several macros to use
|
||
S_GET_VALUE rather than ost_entry.n_value.
|
||
* config/obj-aout.c (obj_symbol_to_chars), config/obj-bout.c
|
||
(obj_symbol_to_chars), config/obj-coff.c (obj_symbol_to_chars),
|
||
config/obj-coffbfd.c (symbol_to_chars): Get value to write out
|
||
using S_GET_VALUE--don't assume it is already set.
|
||
* config/obj-ieee.c (do_symbols): Set BFD symbol value to gas
|
||
symbol value.
|
||
* config/obj-vms.c (various): Don't assign directly to
|
||
S_GET_VALUE; use S_SET_VALUE instead.
|
||
|
||
Wed Jul 14 09:35:23 1993 Doug Evans (dje@canuck.cygnus.com)
|
||
|
||
* configure.in: Make sparc64-*-aout* use bfd gas.
|
||
|
||
* configure.in: Recognize h8300h.
|
||
|
||
Tue Jul 13 12:09:44 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
|
||
|
||
* config/tc-h8500.c (line_comment_chars): Add hash.
|
||
(parse_exp, skip_colonthing, build_bytes): Add support for
|
||
R_H8500_HIGH16 relocation type.
|
||
|
||
Mon Jul 12 11:15:34 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
|
||
|
||
* config/obj-elf.c (obj_elf_section): Allow `@' to introduce an
|
||
attribute name. Handle `execinstr' attribute.
|
||
|
||
Mon Jul 12 07:22:28 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if
|
||
there is another alternative for the instruction.
|
||
|
||
Fri Jul 9 17:31:34 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
|
||
|
||
* doc/as.texinfo: updates for H8/300H
|
||
|
||
Thu Jul 8 14:41:43 1993 Mark Eichin (eichin@cygnus.com)
|
||
|
||
* config/tc-i960.c (md_create_short_jump, md_create_long_jump,
|
||
md_number_to_chars, md_section_align): Adjusted to use valueT,
|
||
addressT, to match tc.h.
|
||
|
||
Thu Jul 8 14:15:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-sparc.c (s_common): Revamp to handle both syntaxes,
|
||
independent of format.
|
||
|
||
Thu Jul 8 07:25:25 1993 Doug Evans (dje@canuck.cygnus.com)
|
||
|
||
* config/tc-h8300.h (TC_CONS_RELOC): Use R_RELLONG if H8/300H.
|
||
|
||
Wed Jul 7 18:11:07 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com)
|
||
|
||
* configure.in: define CROSS=-DCROSS_COMPILE if it is a cross
|
||
build; also recognize h8300-*-coff
|
||
|
||
Wed Jul 7 10:21:24 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* symbols.c (fb_label_instance, fb_label_instance_inc): Don't dump
|
||
core just because somebody uses a label before it is defined.
|
||
|
||
* config/mips-opcode.h: Moved to opcode/mips.h.
|
||
* config/tc-mips.c: Include opcode/mips.h rather than
|
||
mips-opcode.h.
|
||
(append_insn): An extra NOP is only needed after instructions
|
||
which set HI or LO, not after instructions which read it.
|
||
(macro_build, mips_ip): Support new 'E', 'G' and 'B' arguments.
|
||
(macro): cfc1 and ctc1 now take "t,G" rather than "t,d".
|
||
* config/tc-mips.h (struct mips_opcode): Don't define.
|
||
* config/mips-big.mt, config/mips-lit.mt (TARG_CPU_DEPENDENTS):
|
||
Set to $(srcdir)/../include/opcode/mips.h.
|
||
|
||
Get the MIPS assembler up to speed with other gas changes:
|
||
|
||
* config/obj-ecoff.c (ecoff_set_vma, ecoff_frob_symbol):
|
||
Removed; don't change the symbol value.
|
||
(ecoff_build_symbols, ecoff_build_procs, ecoff_frob_file): Use
|
||
bfd_asymbol_value rather than S_GET_VALUE to include section
|
||
vma in symbol value.
|
||
(ecoff_frob_file): Ignore BSF_SECTION_SYM symbols, since ECOFF
|
||
doesn't output them. Set the vma of sections.
|
||
* config/obj-ecoff.h: Don't define obj_frob_symbol.
|
||
* config/tc-mips.c (tc_gen_reloc): Adjustment by section vma is no
|
||
longer necessary.
|
||
(various): use valueT rather than long.
|
||
|
||
Wed Jul 7 08:33:30 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-sparc.h (ENV64): Define for v9.
|
||
|
||
* config/tc-sparc.c (s_xword): For numbers, call big_cons.
|
||
(sparc_ip, md_apply_fix, tc_gen_reloc): Handle some sparc64
|
||
relocation types.
|
||
(md_number_to_chars): Handle 8-byte value.
|
||
|
||
* config/obj-elf.h (elf_symbol): For v9, use 64-bit symbol type.
|
||
|
||
* as.h (valueT): Typedef moved here.
|
||
* struc-symbol.h (valueT): ...from here.
|
||
* write.c (write_object_file): Locals from_addr, to_addr,
|
||
table_addr are now addressT. Supply prototype for bfd_alloc for
|
||
now.
|
||
(fixup_segment): Local add_number is now valueT. Correct some
|
||
range-checking bugs.
|
||
(relax_align): Type `int' should be sufficient for the exponent.
|
||
(fix_new): Argument offset is type offsetT. Locals size and
|
||
newsize are type valueT.
|
||
* write.h (struct fix): Fields fx_offset and fx_addnumber are now
|
||
type valueT.
|
||
(fix_new): Fix prototype.
|
||
* symbols.c (symbol_new): Symbol value is type valueT.
|
||
(S_SET_VALUE, S_GET_VALUE): Likewise.
|
||
(S_IS_*): Specify int return type explicitly.
|
||
* symbols.h (symbol_new, S_GET_VALUE, S_SET_VALUE): Fixed
|
||
prototypes.
|
||
* read.c (s_comm): Values read are type valueT.
|
||
* expr.h (expressionS): Field X_add_number is an offsetT.
|
||
* tc.h (md_create_long_jump, md_create_short_jump,
|
||
md_section_align): Addresses are now type addressT.
|
||
(md_number_to_chars, md_apply_fix): Pass value as valueT.
|
||
* config/tc-i386.c (md_create_short_jump, md_create_long_jump,
|
||
md_number_to_chars, md_section_align): Adjusted.
|
||
* config/tc-sparc.c (sparc_ip): Initialize `len' variable to make
|
||
gcc shut up.
|
||
(md_create_short_jump, md_create_long_jump, md_number_to_chars,
|
||
md_section_align): Adjusted.
|
||
|
||
* config/tc-sparc.c (s_reserve): Permit use for other than a.out
|
||
format.
|
||
(s_common): Handle Solaris-2 version.
|
||
|
||
* config/ho-generic.h (free): Returns void if __STDC__.
|
||
|
||
* config/obj-elf.h (obj_elf_frob_symbol, elf_frob_file,
|
||
elf_file_symbol): Declare.
|
||
|
||
* expr.c (floating_constant, integer_constant): Now return void.
|
||
|
||
Thu Jul 1 12:13:43 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* configure.in: Match on sparc*-fujitsu-none rather than
|
||
sparclite*-fujitsu-none.
|
||
|
||
Wed Jun 30 11:12:02 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* read.c (cons): Conditionalize parsing of expression. Move
|
||
putting value into object file into separate function. Separate
|
||
out MRI and WANT_BITFIELDS cases into separate functions.
|
||
(emit_expr): New function to write data into object file.
|
||
Conditionalize on TC_CONS_FIX_NEW and TC_CONS_RELOC rather than on
|
||
processor types.
|
||
(parse_bitfield_cons): New function to parse bitfield expressions
|
||
as used by i960 assemblers. Only compiled if
|
||
BITFIELD_CONS_EXPRESSIONS is defined.
|
||
(parse_mri_cons): New function to parse MRI style strings. Only
|
||
compiled if MRI is defined.
|
||
(parse_repeat_cons): New function to parse repeat counts. Only
|
||
compiled if REPEAT_CONS_EXPRESSIONS is defined.
|
||
* read.h (emit_expr): Added declaration of new function.
|
||
* config/tc-a29k.h (TC_CONS_RELOC): Define to be RELOC_32.
|
||
* config/tc-h8300.h (TC_CONS_RELOC): Define to be R_RELWORD.
|
||
* config/tc-hppa.c (parse_cons_expression_hppa): New function to
|
||
parse a HPPA expression, rather than special case in cons
|
||
function.
|
||
(cons_fix_new_hppa): New function to emit an HPPA fixup, rather
|
||
than special case in emit_expr function.
|
||
* config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION, TC_CONS_FIX_NEW):
|
||
Define to use new functions from tc-hppa.c.
|
||
* config/tc-i960.h (BITFIELD_CONS_EXPRESSIONS): Define.
|
||
(WANT_BITFIELDS): Removed; now obsolete.
|
||
* config/tc-mips.h (REPEAT_CONS_EXPRESSIONS): Define.
|
||
* config/tc-ns32k.c (cons_fix_new_ns32k): New function to emit an
|
||
NS32K fixup, rather than special case in emit_expr function.
|
||
* config/tc-ns32k.h (TC_CONS_FIX_NEW): Define to be
|
||
cons_fix_new_ns32k. Also use PARAMS rather than checking
|
||
__STDC__.
|
||
* config/tc-sparc.h (TC_CONS_RELOC): Define to RELOC_32.
|
||
|
||
* write.c (relax_and_size_seg, adjust_reloc_syms, write_contents):
|
||
Don't core dump if gas has no information about a section.
|
||
|
||
Wed Jun 30 06:21:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-sparc.c (md_begin): If sparcv9 is defined, reset
|
||
current_architecture to v9 automatically.
|
||
|
||
* config/tc-sparc.h (TARGET_FORMAT): Use elf64-sparc for v9.
|
||
|
||
* config/tc-sparc64.h, config/tc-sparc64.c: New files.
|
||
* configure.in: Use sparc64 cpu files for v9, and default to elf
|
||
format.
|
||
|
||
* write.c (relax_and_size_seg): Always fully process a section.
|
||
Section size is last frag's (vm)address plus its size. If no
|
||
relocations are present, force SEC_RELOC flag clear.
|
||
(dump_section_relocs): New debugging routine.
|
||
(adjust_reloc_syms): New routine, broken out from write_contents.
|
||
Don't adjust relocs that are already relative to section symbol.
|
||
Look for obj_fix_adjustable macro to know what else to skip,
|
||
instead of obj_write_symbol. Look for section symbol stored in
|
||
section information.
|
||
(write_object_file): Map adjust_reloc_syms over all sections.
|
||
(write_contents): Clear SEC_RELOC flag if no relocations are
|
||
found.
|
||
|
||
* as.h (__PTR_TO_INT, __INT_TO_PTR): New versions for Saber, to
|
||
keep it quiet.
|
||
|
||
* write.c (remove_subsegs): Don't define for BFD_ASSEMBLER.
|
||
|
||
Fri Jun 25 14:42:53 1993 K. Richard Pixley (rich@sendai.cygnus.com)
|
||
|
||
* Makefile.in (all, dvi, info, install-info, clean-info): do not
|
||
echo recursion lines.
|
||
(install-info, clean-info): collapse into the dvi and info rule.
|
||
|
||
Fri Jun 25 10:47:24 1993 Doug Evans (dje@canuck.cygnus.com)
|
||
|
||
* config/tc-sparc.c (sparc_ip): Remove support for %d/%q fp regs.
|
||
All fp regs are now specified as %f.
|
||
(priv_reg_table): fpq -> fq.
|
||
|
||
Fri Jun 25 03:43:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
|
||
|
||
* as.h (strstr): Disable declaration for now.
|
||
(fprint_value, sprint_value): Declare.
|
||
|
||
* subsegs.c (subseg_new_rest): Use memset to clear new frag.
|
||
(subseg_new) [BFD_ASSEMBLER]: Initialize all seginfo fields.
|
||
|
||
* expr.c (expr_part): Made sanity checks a.out-specific.
|
||
(expr): Disabled sanity checks.
|
||
|
||
* subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Add field for
|
||
section symbol.
|
||
* subsegs.c (subseg_change): Initialize section symbol pointer
|
||
when setting up a new section.
|
||
|
||
* symbols.c (symbol_new) [BFD_ASSEMBLER]: Point BFD symbol's udata
|
||
field back at gas symbol structure.
|
||
|
||
* symbols.c (colon): Cast obstack_next_free value to char* before
|
||
doing arithmetic on it.
|
||
* subsegs.c (subseg_new_rest): Likewise.
|
||
* as.h (frag_now_fix): Likewise.
|
||
|
||
* config/obj-elf.c (elf_file_symbol): Use subseg_new instead of
|
||
calling bfd_make_section_old_way directly, and call subseg_set
|
||
instead of subseg_change. Now returns void.
|
||
(obj_elf_write_symbol): Only check local symbols for now.
|
||
(elf_stab_symbol): Now static and void, and disabled until it
|
||
works completely.
|
||
(obj_elf_size): For expression values, fail silently for now.
|
||
(obj_symbol_new_hook): Do nothing.
|
||
|
||
* config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP22
|
||
relocation.
|
||
(s_local) [OBJ_ELF]: New function.
|
||
(md_pseudo_table) [OBJ_ELF]: Call it for "local".
|
||
(s_common): Rearrange to handle Solaris .common pseudo, which may
|
||
sometimes use bss space instead of common.
|
||
* config/obj-elf.h (TARGET_SYMBOL_FIELDS): Add new `local' field.
|
||
|
||
Thu Jun 24 16:33:53 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||
|
||
* configure.in: set host config to hpux for hppa*-hp-hpux
|
||
|
||
Thu Jun 24 13:35:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
|
||
|
||
* app.c (app_pop, app_push): Fix bug reported by Chris Arthur.
|
||
|
||
Tue Jun 22 01:04:23 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
|
||
|
||
* subsegs.c (subseg_new): Don't special-case a.out -R flag here.
|
||
* config/obj-aout.c (s_sect): Do it here.
|
||
|
||
* as.h (BAD_CASE): Don't make some lame compilers think we want
|
||
substitution inside strings.
|
||
|
||
* as.c (print_version_id): New function, split off from main.
|
||
(main): Call it.
|
||
* config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Print version id
|
||
for -V. Ignore -Q and -s options for now.
|
||
|
||
Mon Jun 21 17:37:59 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||
|
||
* Makefile.in: make installation & builds work again for crosses
|
||
|
||
Sun Jun 20 18:18:26 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
|
||
|
||
* listing.c (list_symbol_table): Rewrite to print wide (>32 bits)
|
||
symbol values correctly.
|
||
|
||
* write.c (write_object_file): Deleted unused variables.
|
||
(fixup_segment): Use sprint_value.
|
||
|
||
* messages.c (sprint_value, fprint_value): New routines.
|
||
|
||
* config/obj-elf.c (elf_stab_symbol): Now returns void.
|
||
(obj_elf_stab_generic): Fix typo in logic.
|
||
|
||
* Makefile.in (INCLUDES): Look in ../bfd for bfd.h.
|
||
|
||
* as.h (addressT, offsetT): New types, using BFD types if
|
||
available.
|
||
(relax_addressT, struct frag): Use them.
|
||
* struc-symbol.h (valueT, struct broken_word): Likewise.
|
||
|
||
* as.h (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
|
||
* subsegs.c (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
|
||
|
||
Thu Jun 17 16:53:56 1993 david d `zoo' zuhn (zoo@cygnus.com)
|
||
|
||
* Makefile.in: canonicalize install.sh; for use within
|
||
this directory (and subdirs)
|
||
|
||
Sun Jun 20 02:34:04 1993 Ashley Saulsbury (ans@sics.se)
|
||
|
||
* m88k-opcode.h : fixed tiny tiny mistake - xcr was incorrectly
|
||
specified, should have both S1 and S2 fields identical
|
||
If only finding the problem was as fast as fixing the bug !!!!
|
||
|
||
Tue Jun 15 16:01:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* write.c (write_contents): Do write out non-loadable sections.
|
||
Debug sections can fall in this category.
|
||
|
||
* read.c (s_app_file): Call elf_file_symbol for ELF files.
|
||
* config/obj-elf.c (elf_file_symbol): New function.
|
||
|
||
* config/obj-elf.c (elf_stab_symbol_string): Renamed from pa_...,
|
||
added argument to specify section base name.
|
||
(obj_elf_stab_generic): Renamed from ..._stab. New argument
|
||
specifies section base name.
|
||
(obj_elf_stab): New function, calls obj_elf_stab_generic with
|
||
".stab" as section base name.
|
||
(obj_elf_xstab): New function, calls obj_elf_stab_generic.
|
||
(obj_elf_type): Handle "object". Use bitwise-or to merge in
|
||
symbol flags rather than simply replacing, so global/local flags
|
||
are preserved.
|
||
(obj_elf_ident): Rewrite.
|
||
|
||
Tue Jun 15 17:03:25 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||
|
||
* Makefile.in: remove parentdir support; use INSTALL_XFORM
|
||
|
||
Wed Jun 9 11:26:07 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/tc-i386.c (md_pseudo_table): .align uses a power of two
|
||
for any a.out target, not just Linux and 386BSD.
|
||
* config/tc-i386.h (DOT_LABEL_PREFIX): Do not define for any a.out
|
||
target.
|
||
|
||
Mon Jun 7 13:33:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-m88k.c: Don't include flonum.h, md.h, m88k.h. They
|
||
don't exist or duplicate other inclusions.
|
||
|
||
* config/tc-vax.h (NO_RELOC): Define.
|
||
|
||
Mon Jun 7 09:55:03 1993 Doug Evans (dje@canuck.cygnus.com)
|
||
|
||
* config/tc-sparc.c (sparc_ip): Fix parsing of asi number.
|
||
Fix error message.
|
||
|
||
Sat Jun 5 19:32:52 1993 Torbjorn Granlund (tege@nada.kth.se)
|
||
|
||
* gas/config/m88k-opcode.h (m88k_opcodes): Add 88110 instructions.
|
||
* gas/config/tc-m88k.c (get_reg): New arg reg_prefix. Compare first
|
||
char to reg_prefix instead of to 'r'.
|
||
(calcop): Change calls to get_reg.
|
||
(calcop): Handle new case 'x' to set reg_prefix.
|
||
(calcop): Set reg_prefix to 'r' after each call to get_reg.
|
||
(cmpslot): Add 88110 conditions.
|
||
|
||
* gas/config/m88k-opcode.h: Swap cases for "rot" for consistency.
|
||
|
||
* gas/config/tc-m88k.c (get_bf): Always restore input_line_pointer
|
||
before returning.
|
||
|
||
* gas/config/m88k-opcode.h (m88k_opcodes): Make equal mnemonics
|
||
adjacent; mov.s and mov.d swapped.
|
||
(m88k_opcodes): Fix typo `r2' -> `2'.
|
||
|
||
Fri Jun 4 15:59:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
|
||
|
||
* config/h8300.c: Support for H8/300-H opcodes.
|
||
|
||
* config/obj-coffbfd.c (w_strings): String table length is 4
|
||
bytes, no matter what the host int size is.
|
||
|
||
* configure.in (alpha-*-osf*): New.
|
||
|
||
Fri Jun 4 07:51:18 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* configure.in (mips-*-ecoffl*): New target; use ecoff and
|
||
mips-lit.
|
||
(mips-*-ecoff*): Added trailing '*'.
|
||
|
||
* config/obj-ecoff.c (ecoff_build_procs): Force the adr of the
|
||
first FDR in a file to be zero.
|
||
|
||
Thu Jun 3 14:09:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* Makefile.in (VERSION): Jump to 2.1.4.
|
||
|
||
* config/ho-hppabsd.h: New file, from Peter Hoogenboom.
|
||
|
||
* config/tc-mips.c (md_assemble): Call bfd_set_gp_size only for
|
||
ECOFF format.
|
||
|
||
Tue Jun 1 15:21:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-m68k.c (md_assemble): The 68040 cpu doesn't want a
|
||
separate '851 mmu.
|
||
|
||
* config/obj-elf.c, config/obj-elf.h: Update for new type, macro,
|
||
and routine names. Assuming 32 bits for now.
|
||
|
||
* config/obj-elf.c (elf_frob_file): Look for macro
|
||
elf_tc_final_processing_hook, instead of assuming a function
|
||
always exists.
|
||
* config/tc-hppa.c (elf_hppa_final_processing_hook): Renamed from
|
||
tc_final_processing_hook.
|
||
* config/tc-hppa.h (elf_tc_final_processing_hook): Use it.
|
||
|
||
* config/tc-hppa.h (elf_tc_symbol, elf_tc_make_sections): Macros
|
||
moved here from obj-elf.h.
|
||
* config/obj-elf.h: Don't include CPU-specific header files.
|
||
|
||
Sun May 30 16:49:37 1993 Peter Hoogenboom (hoogen@fast.cs.utah.edu)
|
||
|
||
* configure.in: configurations should match on 'hppa*' not 'hppa'.
|
||
|
||
* read.c: Add support for HPPA assembly language syntax (denoted
|
||
with '#ifdef TC_HPPA').
|
||
|
||
* symbols.c: Add support for HPPA assembly language syntax (denoted
|
||
with '#ifdef TC_HPPA').
|
||
|
||
* write.c (write_contents): Add support for HPPA-style
|
||
relocations.
|
||
|
||
* config/obj-elf.c: Stab symbols weren't written properly.
|
||
(obj_elf_version):
|
||
(obj_elf_desc):
|
||
(obj_elf_write_symbol):
|
||
(obj_elf_write_symbol_p):
|
||
(obj_elf_frob_symbol):
|
||
(elf_stab_symbol):
|
||
(elf_frob_file):
|
||
|
||
* config/tc-hppa.c: Support for HPPA symbol extension sections.
|
||
Remove some unused code. Support for HPPA assembly language
|
||
syntax.
|
||
|
||
* app.c:
|
||
|
||
* symbols.c:
|
||
|
||
* config/obj-elf.h:
|
||
(obj_write_symbol):
|
||
(obj_frob_file):
|
||
(elf_tc_symbol):
|
||
(elf_tc_make_sections):
|
||
|
||
* config/tc-hppa.h:
|
||
|
||
Sun May 30 21:44:45 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
||
|
||
* config/obj-ecoff.c (obj_read_begin_hook, add_file): Assume
|
||
hash_new will have succeeded if it returns.
|
||
* config/tc-a29k.c (md_begin): Likewise.
|
||
|
||
* config/tc-i386.c (tc_aout_fix_to_chars): Now nbytes_r_length is
|
||
const.
|
||
(mode_from_disp_size, opcode_suffic_to_type): Now inline under
|
||
gcc.
|
||
(fits_in_{signed,unsigned}_{byte,word}): Likewise.
|
||
|
||
* expr.c: Delete register declarations; gcc ignores them anyways.
|
||
|
||
Fri May 28 19:03:32 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* hash.c (hash_new): Use xmalloc, since many callers don't check
|
||
for failure.
|
||
|
||
Thu May 27 13:02:15 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* frags.c (zero_address_frag, bss_address_frag): These are
|
||
external.
|
||
|
||
* tc.h (md_reloc_size): This is const.
|
||
* config/tc-{a29k,h8300,h8500,i386,i860,i960,m68k,ns32k,z8k}.c
|
||
(md_reloc_size): Now const.
|
||
|
||
* config/aout_gnu.h (enum machine_type, enum reloc_type): Delete
|
||
trailing commas.
|
||
* as.h (enum _segT): Ditto.
|
||
|
||
* struc-symbol.h (N_TYPE_seg): This should be const.
|
||
|
||
Thu May 27 11:43:59 1993 Michael Meissner (meissner@osf.org)
|
||
|
||
* config/obj-ecoff.c (add_file): Cast file_name to char * in
|
||
listing_source_file call.
|
||
|
||
* config/obj-elf.c (elf_stab_symbol_string): Cast first argument
|
||
of subseg_new call to eliminate const attribute.
|
||
(obj_elf_stab): Ditto.
|
||
(obj_symbol_new_hook): Cast first argument of bzero call to char *.
|
||
|
||
* read.c (s_align_bytes): Properly record alignment.
|
||
|
||
* expr.c (__): Undefine __ macro before use, since OSF/1 uses it
|
||
for the prototype/no prototype macro.
|
||
|
||
* as.c (got_sig): Don't do return ((SIGTY) 0), SIGTY might well be
|
||
void.
|
||
|
||
* as.h (relax_stateT enum): Delete trailing comma.
|
||
|
||
Thu May 27 11:07:50 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* app.c (do_scrub_begin): Let line_comment_chars override
|
||
comment_chars.
|
||
(do_scrub_next_char): If a line comment character is not at the
|
||
start of a line, treat it as a comment character if it is one.
|
||
For a CPP line comment use pseudo-op .appline rather than .line.
|
||
* input-scrub.c (logical_input_line): Make int rather than
|
||
unsigned.
|
||
(input_scrub_push, input_scrub_begin): Initialize
|
||
logical_input_line to -1 rather than 0.
|
||
(bump_line_counters): Increment logical_input_line.
|
||
(new_logical_line): If line_number is -2, decrement
|
||
logical_input_line.
|
||
(as_where): Use logical_input_line even if it is 0.
|
||
* read.h (s_app_file prototype): Now takes an int argument.
|
||
* read.c (potable): Make .appfile call s_app_file with 1. New
|
||
.appline pseudo-op calls s_app_line.
|
||
(s_app_file): If .appfile, call new_logical_line with -2 to
|
||
account for newline inserted by do_scrub_next_char. If listing,
|
||
call listing_source_file.
|
||
(s_app_line): New function to handle fake pseudo-op .appline.
|
||
* config/obj-coff.c (obj_pseudo_table): Make .appline call
|
||
obj_coff_ln.
|
||
(obj_coff_ln): Added argument to indicate whether .appline.
|
||
* config/obj-coffbfd.c (obj_pseudo_table): Make .appline call
|
||
obj_coff_ln.
|
||
(obj_coff_ln): Added argument to indicate whether .appline.
|
||
* config/tc-mips.c (s_file): Pass argument to s_app_file.
|
||
|
||
Tue May 25 11:59:07 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/obj-bout.h (S_GET_VALUE): Removed unnecessary cast.
|
||
|
||
Thu May 20 19:14:24 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-m68k.c (md_apply_fix_2): Straighten out check for
|
||
invalid values.
|
||
|
||
Wed May 19 07:33:17 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
|
||
|
||
* config/tc-h5000.c (build_bytes): Understand @rd mode and build
|
||
relocations correctly.
|
||
|
||
Mon May 17 15:06:26 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
|
||
|
||
* Makefile.in (FLAGS_TO_PASS): Leave out TEXI2DVI for now, because
|
||
it's wrong.
|
||
|
||
* config/tc-m68k.c (md_apply_fix_2): Apply range checks and warn
|
||
if value is out of range.
|
||
|
||
Patch from Minh Tran-Le:
|
||
* config/tc-i386.c (i386_operand): For in/out port register used
|
||
as base reg, include InOutPortReg in operand type.
|
||
(MATCH): Accept overlap value of InOutPortReg.
|
||
|
||
Mon May 17 09:29:34 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/obj-ecoff.c (add_file, obj_ecoff_loc, obj_ecoff_stab):
|
||
Add calls to listing routines to produce combined source/assembler
|
||
listings.
|
||
(obj_ecoff_stab): Create a file pointer if none used yet.
|
||
(ecoff_frob_file): Set symcount to correct value.
|
||
|
||
Fri May 14 06:53:33 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
|
||
|
||
* Makefile.in (VERSION): Bump to version 2.1, in preparation for
|
||
release.
|
||
|
||
* config/obj-aout.h (H_GET_HEADER_SIZE, H_SET_SYMBOL_TABLE_SIZE):
|
||
Define in terms of constants, not C structure sizes.
|
||
|
||
* config/tc-rs6000.c, config/tc-rs6000.h: Delete empty files.
|
||
|
||
Thu May 13 17:01:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/obj-aout.c (obj_header_append): Don't define if it's
|
||
defined as a macro.
|
||
* config/obj-hp300.h (obj_header_append): Define it as a macro.
|
||
* config/obj-hp300.c (hp300_header_append): New function.
|
||
|
||
* Makefile.in (distclean): Don't bother cleaning up doc files;
|
||
they aren't going to be in this directory.
|
||
|
||
Thu May 13 07:51:35 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/obj-ecoff.c (ecoff_build_symbols): Handle absolute
|
||
symbols.
|
||
|
||
* tc.h (TC_COFF_SIZEMACHDEP): Don't define here.
|
||
* config/tc-sh.h (TC_COFF_SIZEMACHDEP): Define here instead.
|
||
|
||
Mon May 10 06:01:12 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
||
|
||
* config/obj-vms.c (VMS_Symbol_type_list): Don't bother with
|
||
initialization.
|
||
|
||
* configure.in (targets): Treat m68*-*-sysv* like m68k-*-coff.
|
||
|
||
Wed May 5 14:00:49 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/tc-mips.c (macro): Correct floating point double word
|
||
loads and stores for big endian target.
|
||
|
||
Wed May 5 08:39:21 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
|
||
|
||
* config/tc-i386.c: Replace SEG_* with *_section, fix up subseg_*
|
||
calls. Deleted some unused code.
|
||
* config/obj-coff.c: Likewise.
|
||
|
||
ELF support, mostly contributed by Utah:
|
||
* config/obj-elf.c (obj_elf_section, obj_elf_stab, obj_elf_line,
|
||
obj_elf_type): Rewrite.
|
||
(obj_elf_frob_symbol, elf_stab_symbol_string, elf_stab_symbol,
|
||
obj_elf_desc, obj_elf_version, obj_symbol_new_hook, obj_elf_size):
|
||
New functions.
|
||
(obj_elf_ident): Dummy.
|
||
* config/obj-elf.h (FALSE, TRUE, S_*, tc_frob_symbol,
|
||
TARGET_SYMBOL_FIELDS): New macros.
|
||
(gdb_section): New variable decl.
|
||
|
||
* config/tc-i386.c (md_atof): Return zero, not empty string, on
|
||
success.
|
||
|
||
BFD_ASSEMBLER conditional changes:
|
||
* config/obj-coff.c (lineno_rootP, seg_N_TYPE, *_section_header):
|
||
Don't define these.
|
||
(SA_SET_SYM_ENDNDX, SA_SET_SYM_TAGNDX): New functions.
|
||
(fetch_coff_debug_section): Ditto.
|
||
(obj_coff_endef): Call fetch_coff_debug_section.
|
||
(struct line_no): New type.
|
||
(c_symbol_merge): New way for copying aux fields.
|
||
(c_dot_file_symbol): Put symbol in absolute section, and set flag
|
||
BSF_DEBUGGING.
|
||
(function_lineoff): New symbol.
|
||
(function_lineoff, text_lineno_number, our_lineno_number,
|
||
lineno_lastP): Don't define.
|
||
(c_line_new): Don't define.
|
||
(obj_emit_lineno, obj_coff_endef): Use abort calls as, uh,
|
||
placeholders, until
|
||
line-number recording gets implemented.
|
||
(obj_new_symbol_hook): New code for handling aux fields.
|
||
(add_lineno, add_linesym): New functions.
|
||
(obj_coff_ln): Call add_lineno, not c_line_new.
|
||
(obj_coff_endef): New code for handling symbol names. New lineno
|
||
code. Look for section name "*DEBUG*" for debugging section.
|
||
(align, coff_check_file_symbols, obj_coff_section,
|
||
coff_frob_file): New functions.
|
||
* config/obj-coff.h: Reordered some includes.
|
||
(BYTE_ORDERING, FILE_HEADER_MAGIC, seg_N_TYPE, N_TYPE_seg,
|
||
DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE, AOUTHDR, AOUTHDRSIZE): Don't
|
||
define these.
|
||
(TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): New macros.
|
||
(SYM_AUXENT): New macro (for non-BFD_ASSEMBLER too) for accessing
|
||
aux entries. Most SA_* macros now use it unconditionally.
|
||
(S_*): Use `bsym' field, and access BFD private data.
|
||
(SF_*): Use `sy_flags' symbol field for most of these.
|
||
(H_*, object_headers, lineno, lineno_*P, OBJ_EMIT_LINENO): Don't
|
||
define.
|
||
(*_section_header): Don't define.
|
||
* config/tc-i386.c (md_convert_frag, md_apply_fix): Changed
|
||
interface.
|
||
(tc_gen_reloc) [I386COFF]: New function.
|
||
(tc_aout_fix_to_chars, tc_coff_fix2rtype): Don't define.
|
||
* config/tc-i386.h (TARGET_ARCH, TARGET_BYTES_BIG_ENDIAN): New
|
||
macros.
|
||
|
||
* config/obj-coff.c (stack_init): Don't do assignments inside
|
||
conditions.
|
||
(obj_coff_def): Simplified handling of symbol name a bit.
|
||
(tag_insert): Name argument is now pointer to CONST.
|
||
(obj_crawl_symbol_chain): Commented out.
|
||
|
||
* config/obj-coff.h: Use PARAMS macro in prototypes.
|
||
|
||
* write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Don't indirect
|
||
through frchainP pointer if it is null.
|
||
|
||
* configure.in: Warn if BFD mode is explicitly turned off but is
|
||
required by specified target.
|
||
(mips ecoff targets): Don't need to set bfd_gas here; it gets
|
||
taken care of later.
|
||
|
||
* config/obj-coffbfd.c (crawl_symbols): Don't clear sy_forward
|
||
field.
|
||
(yank_symbols): Merge symbols only if sy_forward is null.
|
||
|
||
* config/tc-m68k.h (AOUT_MACHTYPE): Don't define if already
|
||
defined.
|
||
|
||
* tc.h (md_convert_frag) [BFD_ASSEMBLER]: Section arg is not
|
||
pointer.
|
||
* config/tc-m68k.c (md_convert_frag) [BFD_ASSEMBLER]: Ditto.
|
||
|
||
* config/tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Anything starting
|
||
with "." is a local label.
|
||
|
||
* config/te-hppa.h, config/tc-hppa.h, config/tc-hppa.c: New config
|
||
files.
|
||
|
||
* config/te-linux.h, config/te-386bsd.h: New config files.
|
||
* configure.in (i386-*-linux, i386-*-bsd): Use them.
|
||
* config/tc-i386.h (TARGET_FORMAT): Select format based on target
|
||
environment.
|
||
(DOT_LABEL_PREFIX): Don't define for 386bsd or Linux.
|
||
|
||
Wed May 5 13:14:01 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/obj-ecoff.c (init_file): Set fMerge to 0 since dbx seems
|
||
to want it that way.
|
||
(ecoff_build_symbols): Turn local st_Proc symbols into
|
||
st_StaticProc symbols. Set index field of external st_Proc and
|
||
st_staticProc symbols correctly.
|
||
* config/tc-mips.h (NO_LISTING): Don't define. People might want
|
||
listings.
|
||
|
||
Tue May 4 21:22:54 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/obj-hp300.h, config/obj-hp300.c, config/te-hp300.h: New
|
||
files.
|
||
* configure.in (m68k-*-hpux): Use them.
|
||
|
||
* config/obj-aout.c (obj_pre_write_hook): Use AOUT_VERSION if
|
||
defined, otherwise zero.
|
||
|
||
* config/aout_gnu.h (OMAGIC): Don't define if already defined.
|
||
|
||
Mon May 3 15:59:32 1993 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* config/tc-sparc.c (sparc_ip): Allow any abs expression as an
|
||
address space number.
|
||
|
||
Wed Apr 28 19:11:22 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
|
||
|
||
* config/obj-aout.h (TARGET_DEFAULT): Don't default this at all.
|
||
|
||
* config/tc-a29k.c: Include ctype.h.
|
||
(define_some_regs): Added special-purpose registers for 29050.
|
||
|
||
* config/tc-i386.c (comment_chars) [TE_I386AIX]: Include "/".
|
||
|
||
* config/obj-coffbfd.c (fill_section): Don't set STYP_REG here.
|
||
(change_to_section): Set it here instead.
|
||
|
||
Wed Apr 28 13:40:29 1993 Ian Lance Taylor (ian@rtl.cygnus.com)
|
||
|
||
* config/obj-ecoff.c (obj_symbol_new_hook): Make up a .file if one
|
||
hasn't been seen yet.
|
||
(add_ecoff_symbol): Don't refer to cur_file_ptr if it is NULL.
|
||
|
||
Mon Apr 26 18:29:05 1993 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* config/tc-sh.c, config/tc-sh.h: New files supporting Hitachi
|
||
SH.
|
||
|
||
Mon Apr 26 12:28:27 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* expr.c (operand): Fix unary plus operator (previously was the
|
||
same as '~' operator!).
|
||
|
||
Wed Apr 21 00:20:11 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* write.c (cvt_frag_to_fill): Define even if BFD is defined.
|
||
(write_object_file): Do define if BFD_ASSEMBLER. Invoke
|
||
obj_check_file_symbols if defined. Call verify_symbol_chain_2
|
||
instead of open-coding it. Fix some bugs in patching up symbol
|
||
chain.
|
||
(relax_segment): Make some code we "ought to be able to" use for
|
||
all targets no longer conditionalized on ns32k target; instead, do
|
||
it always, and if the appropriate conditions fail, abort.
|
||
|
||
* symbols.c (DEBUG): Enabled.
|
||
(symbol_new): Make sure bfd_make_empty_symbol works.
|
||
(verify_symbol_chain_2): New function; takes one symbol as
|
||
argument, anywhere in the chain.
|
||
(dollar_label*): Use default initializers.
|
||
|
||
* as.c (perform_an_assembly_pass): Call md_begin here...
|
||
(main): ...and not here.
|
||
|
||
* config/tc-m68k.h (TARGET_FORMAT): Use a.out-sunos-big for a.out.
|
||
(tc_frob_symbol): New macro: Get rid of symbols in reg_section.
|
||
|
||
* config/tc-m68k.c (omagic): Don't define for BFD_ASSEMBLER.
|
||
(add_fix, add_frag): Now functions instead of macros.
|
||
(m68k_reg_parse, m68k_ip, md_estimate_size_before_relax, get_num,
|
||
s_data1, s_data2, s_bss): Use new *_section names, for
|
||
compatibility with BFD_ASSEMBLER mode; rewrite switch statements
|
||
to handle non-integral segT.
|
||
(tc_coff_fix2rtype, tc_aout_fix_to_chars,
|
||
tc_coff_symbol_emit_hook): Don't define for BFD_ASSEMBLER.
|
||
(tc_gen_reloc): New routine for BFD_ASSEMBLER.
|
||
(md_apply_fix, md_apply_fix_2): Renamed old md_apply_fix to
|
||
md_apply_fix_2; new md_apply_fix definition varies interface
|
||
depending on BFD_ASSEMBLER.
|
||
(md_convert_frag, md_convert_frag_1): Likewise. Use new *_section
|
||
names.
|
||
|
||
* config/obj-vms.c: Include config.h.
|
||
(version_string): Delete declaration.
|
||
(Write_VMS_MHD_Records): Use GAS_VERSION instead.
|
||
(vms_resolve_symbol_redef): New function, taken from VMS code in
|
||
symbols.c.
|
||
(_doprnt): Deleted.
|
||
(VMS_Store_Struct, VMS_Def_Struct, VMS_Set_Struct,
|
||
VMS_TBT_Block_End, get_VMS_time_on_unix, generate_suffix,
|
||
VMS_Psect_Spec): Fixed to compile under traditional C.
|
||
* config/obj-vms.h: Use PARAMS macro.
|
||
(vms_resolve_symbol_redef): Declare.
|
||
(RESOLVE_SYMBOL_REDEFINITION): New macro.
|
||
* symbols.c (colon): Remove some VMS-specific code, look for
|
||
RESOLVE_SYMBOL_REDEFINITION macro instead.
|
||
|
||
* config/tc-m68k.c (m68k_ip): Don't try expanding DBcc
|
||
instructions.
|
||
|
||
* config/tc-i386.c: Reordered some functions so inlining might
|
||
work. Use PARAMS in function declarations.
|
||
(reloc): New routine.
|
||
(md_assemble): Rearrange switch statements to work with
|
||
non-integral segT.
|
||
|
||
* struc-symbol.h [BFD_ASSEMBLER]: Undefine
|
||
SYMBOLS_NEED_BACKPOINTERS before defining it.
|
||
|
||
* subsegs.c (subseg_new_rest): Now static.
|
||
|
||
* read.c (pseudo_set): Better error message for difference of
|
||
symbols in different frags.
|
||
|
||
* Makefile.in (check): Pass down some new variables, indicating
|
||
pathname or program name for cc, nm, objdump.
|
||
|
||
* as.h (OUTPUT_FLAVOR): New macro.
|
||
* config/tc-sparc.c (tc_gen_reloc): Use OUTPUT_FLAVOR.
|
||
|
||
* configure.in: Initialize bfd_gas properly. Warn that ELF
|
||
support is incomplete.
|
||
|
||
Thu Apr 15 22:39:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* read.c (float_cons): Accept null pointer return from md_atof.
|
||
* config/tc-m68k.c (md_atof): Return null for success.
|
||
* config/tc-sparc.c (md_atof): Ditto.
|
||
|
||
Thu Apr 15 16:04:39 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
|
||
|
||
* doc/as.texinfo: formatting and comment cleanups; show SPARC
|
||
alternative options in same style as other machines; simplify some
|
||
conditional use; include GPL as separate file (from texinfo dir)
|
||
|
||
* doc/Makefile.in: (as.info) include directory containing GPL in
|
||
makeinfo search path
|
||
|
||
* doc/h8.texi: new file; conditional settings for GAS manual
|
||
on Hitachi chips
|
||
|
||
Tue Apr 13 15:31:40 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
|
||
|
||
* doc/as.texinfo: mention SPARC architecture options.
|
||
|
||
Fri Apr 9 17:43:11 1993 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* configure.in: Rearranged whitespace in per-host/per-target
|
||
sections. Added hooks for dropping in HPPA support (not included
|
||
yet). Separate out overrides of variables based on target format
|
||
and bfd-gas selection from actual target-specific commands. Add
|
||
error message for recognized but unsupported format name.
|
||
|
||
Fri Apr 9 09:05:47 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/obj-ecoff.h (ecoff_build_lineno): Make ilineMax in
|
||
symbolic header match cline in FDR; the native linker seems to
|
||
want that.
|
||
|
||
Thu Apr 8 15:51:28 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||
|
||
* doc/Makefile.in: as.texinfo is in $(srcdir). Use
|
||
$(srcdir)/as.texinfo explicitly in several places
|
||
|
||
Thu Apr 8 15:15:02 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
|
||
|
||
* doc/Makefile.in: update dvi, clean targets for new source
|
||
file structure
|
||
|
||
Thu Apr 8 12:52:46 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/ho-decstatn.h: Define BROKEN_ASSERT if not __GNUC__,
|
||
rather than undefining know.
|
||
* configure.in: Match ultrix*, not just ultrix.
|
||
|
||
Wed Apr 7 20:18:10 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
|
||
|
||
* doc/as.texinfo: converted conditional markup to use new
|
||
Texinfo facilities, avoiding m4.
|
||
|
||
* doc/as-all.texinfo, all.m4, pretex.m4: deleted.
|
||
|
||
* doc/Makefile.in: recast doc configuration to use a link to an
|
||
included texinfo file.
|
||
|
||
* doc/all.texi: settings for generic form of documentation.
|
||
|
||
Tue Apr 6 11:56:21 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* read.c (cons): Zero out frag when creating reloc.
|
||
|
||
Mon Apr 5 09:41:58 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/tc-mips.c (gp_reference): Certain magic symbols can never
|
||
be referenced off the GP register.
|
||
|
||
* app.c (do_scrub_next_char): Handle states 9 and 10 correctly
|
||
when dealing with characters of type LEX_IS_TWOCHAR_COMMENT_1ST,
|
||
LEX_IS_STRINGQUOTE, and LEX_IS_ONECHAR_QUOTE.
|
||
|
||
* config/te-irix.h: New file; irix needs a different LOCAL_LABEL
|
||
definition from other MIPS targets.
|
||
* configure.in (mips-*-irix): Use emulation irix.
|
||
|
||
Sun Apr 4 15:21:09 1993 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* config/tc-h8500.c: Get relax size of branch instructions right,
|
||
(get_operand): Parse @sp+ correctly.
|
||
|
||
Fri Apr 2 15:59:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Don't include
|
||
COFF section header field.
|
||
|
||
* configure.in: Print error message if host or target is not
|
||
supported.
|
||
|
||
* configure.in: If with-bfd-assembler, use obj-coff instead of
|
||
obj-coffbfd.
|
||
|
||
* config/ho-generic.h: Include string.h.
|
||
|
||
Fri Apr 2 08:54:57 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/tc-mips.h (LOCAL_LABEL): Treat any label starting with
|
||
'$' as local, for any object file format.
|
||
|
||
* config/tc-mips.c (macro): Optimizations to branching code and a
|
||
couple of bug fixes from ralphc@pyrps5.eng.pyramid.com (Ralph
|
||
Campbell).
|
||
|
||
* config/ho-irix.h: New file; if not gcc, define BROKEN_ASSERT.
|
||
* configure.in (mips-sgi-irix*): Set gas_host to irix.
|
||
|
||
Wed Mar 31 17:53:54 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* subsegs.c (subseg_new): Set output_section of new section.
|
||
* as.c (perform_an_assemly_pass): Don't set output_section here.
|
||
* expr.c (expr_part, expr): Turn off section assertions for ECOFF,
|
||
since it has additional sections.
|
||
* read.c (s_lcomm): For MIPS ECOFF, put small objects in .sbss,
|
||
not bss_section.
|
||
* config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Added
|
||
ecoff_undefined field.
|
||
* config/obj-ecoff.c (obj_symbol_new_hook): Initialize
|
||
ecoff_undefined field.
|
||
(add_file): If using stabs, just output a stabs symbol rather than
|
||
creating a new fdr.
|
||
(obj_ecoff_begin, obj_ecoff_bend): Ignore line number by reading
|
||
it with get_absolute_expression, rather than skipping it by hand.
|
||
(obj_ecoff_loc): If using stabs, just output a stabs symbol rather
|
||
than ECOFF line number information.
|
||
(obj_ecoff_stab): Accept non-zero values for stabs line number.
|
||
(ecoff_build_symbols): Set ifilesym correctly. Set storage class
|
||
to small, undefined and/or readonly sections if appropriate.
|
||
Don't output symbol names containing \001 characters.
|
||
(ecoff_frob_file): Make sure at least one fdr is output.
|
||
* config/tc-mips.h: Define TC_MIPS.
|
||
* config/tc-mips.c (g_switch_value): New static variable.
|
||
(md_assemble): Set gp size of output BFD.
|
||
(gp_reference): New function; returns 1 if expression can be
|
||
accesssed via gp. Always returns 0 if not using ECOFF.
|
||
(macro_build): Convert BFD_RELOC_LO16 to BFD_RELOC_MIPS_GPREL if
|
||
possible.
|
||
(macro): Generate sequences using gp if possible.
|
||
(md_parse_option): Ignore -EL and -EB. Parse -G.
|
||
(md_apply_fix): Added BFD_RELOC_MIPS_GPREL to ignored case.
|
||
(s_change_sec): Handle .rdata and .sdata for ECOFF.
|
||
(s_extern): Mark symbol as external. Set ecoff_undefined field.
|
||
|
||
Tue Mar 30 10:11:41 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* output-file.c (output_file_create): Don't call as_perror for
|
||
filename rejected by application.
|
||
|
||
* as.c (main) [BFD_ASSEMBLER]: If errors occur, close and unlink
|
||
the output file.
|
||
|
||
* doc/as.texinfo: Don't use @value in node names for the moment;
|
||
references don't appear to work right.
|
||
|
||
* as.h (const, volatile): Put these definitions back, and use
|
||
them.
|
||
|
||
* doc/as.texinfo: First pass at using new texinfo features --
|
||
variables, conditional tests. Far from complete.
|
||
|
||
Mon Mar 29 16:05:40 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* read.c: Temporary hack to handle some 64-bit constants. This
|
||
should be redone later.
|
||
(target_big_endian): Declare.
|
||
(big_cons): If it's set, reverse order of bytes being copied.
|
||
* config/tc-sparc.c (md_begin): Set target_big_endian.
|
||
|
||
* read.c (s_ignore): Delete declaration of is_end_of_line.
|
||
|
||
* config/obj-coffbfd.c (yank_symbols): Build list of file symbol
|
||
forward pointers properly.
|
||
|
||
Mon Mar 29 13:47:33 1993 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* config/obj-coffbfd.c (do_relocs_for): Fix bug where nrelocs
|
||
wasn't being stored into scnhdr.
|
||
* config/obj-coffbfd.h: Add prototype of s_get_segment.
|
||
* read.c (TC_START_LABEL): Default definition.
|
||
(read_a_source_file): Use TC_START_LABEL macro to work out
|
||
if a label has been seen.
|
||
|
||
Mon Mar 29 12:56:56 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* configure.in: Set BFDDEF and BFDLIB at the top of Makefile, not
|
||
the bottom (make expands variables in dependencies when the
|
||
dependencies are read, not when they are used).
|
||
|
||
* config/obj-coffbfd.c (fill_section): Don't set NOLOAD bit for
|
||
a29k .bss section; the mondfe program doesn't like it.
|
||
|
||
Sun Mar 28 08:12:53 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
||
|
||
* config/tc-m68k.c: Use PARAMS macro, and use CONST instead of
|
||
const.
|
||
(current_architecture): Don't need initializer.
|
||
|
||
Fri Mar 26 08:12:48 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* doc/none.m4: Define Z8000.
|
||
* doc/Makefile.in (as-*.texinfo): Refer to $(srcdir). Remove the
|
||
texinfo file before recreating it.
|
||
(TEXI2DVI): Need to set TEXINPUTS if "make as.dvi" is to work in
|
||
this directory.
|
||
(srcdir): Delete second, bogus definition.
|
||
(as.info): Look for as-*.texinfo in current directory rather than
|
||
in $(srcdir).
|
||
(as.dvi): Ditto.
|
||
(dvi): New rule.
|
||
* doc/configure.in: Create links to all as-*.texinfo files in the
|
||
source directory, if that's not the current directory.
|
||
|
||
* configure.in (per-host): Accept MIPS host with BSD version
|
||
number.
|
||
(per-target): Classify i486 as i386. Use generic cpu_type instead
|
||
of target_cpu in selecting format etc.
|
||
|
||
* app.c (do_scrub_next_char): Use .appfile, not .app-file.
|
||
* read.c (potable): Change .app-file to .appfile.
|
||
|
||
* config/ho-decstatn.h: Renamed from ho-decstation.h.
|
||
* configure.in: Adjusted.
|
||
|
||
* config/obj-bfd-sunos.*: Unused; deleted.
|
||
|
||
* Makefile.in (version.c, vers-stamp): Deleted.
|
||
(config.h): Define GAS_VERSION.
|
||
* as.c (version_string): Deleted declaration.
|
||
(main): Look for GAS_VERSION instead.
|
||
|
||
* doc/as.texinfo: Updated description of -a* (listing) options,
|
||
and describe how to pass them through from gcc.
|
||
|
||
* config/obj-coffbfd.c (do_relocs_for): Don't allocate storage or
|
||
process relocs if there aren't any relocs to process. Avoids
|
||
malloc/free bug on SCO too.
|
||
|
||
* as.h: Move local include files below system include files, to
|
||
avoid some redefinition complaints on some systems.
|
||
(const, volatile): Don't need these conditionally defined if we
|
||
use CONST and VOLATILE from ansidecl.h.
|
||
(seg_name): Use CONST, not const.
|
||
|
||
Fri Mar 26 10:22:04 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/tc-mips.c: Reindented to GNU standards.
|
||
|
||
Thu Mar 25 08:59:14 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/obj-coffbfd.c (do_relocs_for): Remove a29k special case.
|
||
(fixup_segment): Add a29k special case; the linker is not prepared
|
||
to see a segment offset here.
|
||
|
||
* app.c (do_scrub_next_char): Added new state, 10, modifying state
|
||
9 to only keep a space in between identifier characters.
|
||
|
||
Wed Mar 24 02:16:22 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
|
||
|
||
* Makefile.in: add dvi target; as-$(config).texinfo might live in
|
||
srcdir, might be in objdir.
|
||
|
||
* doc/Makefile.in: dvi depends on as.dvi
|
||
|
||
Mon Mar 22 23:59:13 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||
|
||
* Makefile.in: add installcheck target
|
||
|
||
Mon Mar 22 16:25:57 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
|
||
|
||
* config/tc-sparc.c (sparc_ip): Add support for membar mask names.
|
||
Add missing colons in prefetch error messages. Add support for
|
||
ASI names.
|
||
|
||
Mon Mar 22 10:19:00 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/tc-mips.c (macro): Use $AT for any floating point load.
|
||
|
||
Sat Mar 20 12:50:51 1993 Ken Raeburn (raeburn@urth.cygnus.com)
|
||
|
||
* config/tc-m68k.c (m68k_ip): For operand type 'M', reject
|
||
bignums, but don't emit error message.
|
||
|
||
Fri Mar 19 21:02:19 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
|
||
|
||
* Makefile.in (targ-cpu.o): Depend on config.h.
|
||
|
||
Wed Mar 17 16:44:06 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* app.c (do_scrub_next_char): Added new state, 9, to avoid
|
||
dropping a space immediately following an identifier.
|
||
* expr.c, write.c: Rewrote assert expressions to not use multiple
|
||
lines; I don't think that can be done portably.
|
||
* config/tc-mips.c (macro): Use $AT if target register is zero in
|
||
load instruction, which it can be for a floating point load.
|
||
|
||
Mon Mar 15 12:17:28 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* write.c (write_contents): Compute the relocs before writing out
|
||
the section contents.
|
||
* config/obj-ecoff.h, config/obj-ecoff.c: Numerous changes to get
|
||
symbol table and values right.
|
||
* config/tc-mips.h (LOCAL_LABEL): If OBJ_ECOFF, any label starting
|
||
with $L is local.
|
||
* config/tc-mips.c (tc_gen_reloc): If OBJ_ECOFF, adjust the addend
|
||
by the section vma.
|
||
|
||
* config/z8k.mt (TARG_CPU_DEPENDENTS): The relevant file is
|
||
z8k-opc.h, not z8k.h.
|
||
|
||
* config/obj-coffbfd.c (obj_coff_endef): Correct test for .bf
|
||
symbol.
|
||
|
||
Fri Mar 12 18:33:36 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||
|
||
* configure.in: recognize sparc-sun-solaris2* instead of -solaris2
|
||
|
||
Fri Mar 12 12:00:07 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* expr.c, write.c: Ultrix native 4.2 cc requires assert condition
|
||
to be on a single line.
|
||
|
||
Thu Mar 11 17:56:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* Makefile.in (config.h): Create file, writing out definitions of
|
||
target cpu, alias, and canonical name.
|
||
(ALL_CFLAGS): No longer define TARGET_CPU.
|
||
|
||
* Makefile.in (check): Print a message, instead of quitting
|
||
silently.
|
||
|
||
* as.c (main): Don't catch any signals, for now.
|
||
|
||
* version.c: Deleted.
|
||
* Makefile.in: Generate it, putting in only the version number
|
||
itself.
|
||
(VERSION): New variable.
|
||
* as.c: Include config.h.
|
||
(main): Reformatted version string. Include target alias. Don't
|
||
print if not requested (i.e., unknown -v argument).
|
||
|
||
* as.c (stralloc): Deleted.
|
||
(main): Call strdup instead.
|
||
|
||
* configure.in: Handle all 68300 series chips.
|
||
* config/tc-m68k.c: Include config.h.
|
||
(md_assemble): Assume TARGET_CPU is defined. Accept some 68300
|
||
series cpus as defaults.
|
||
(md_parse_option): Accept some m68300 series CPUs as defaults.
|
||
|
||
Wed Mar 10 17:41:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* as.c (EXIT_SUCCESS, EXIT_FAILURE): Define to normal values if
|
||
not already defined.
|
||
(main, got_sig): Use them.
|
||
* config/ho-vms.h (EXIT_SUCCESS, EXIT_FAILURE): Reverse default
|
||
values.
|
||
|
||
Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/obj-ecoff.c, config/obj-ecoff.h: Preliminary ECOFF
|
||
support.
|
||
|
||
* config/tc-mips.h (TARGET_FORMAT): Define based on OBJ_AOUT vs.
|
||
OBJ_ECOFF as well as TARGET_BYTES_*_ENDIAN.
|
||
(struct loc, struct proc, struct file): Moved to tc-mips.c within
|
||
#ifndef OBJ_ECOFF block, since ECOFF uses different versions.
|
||
* config/tc-mips.c: Rearranged for ECOFF support. Added
|
||
prototypes for all static functions. Moved existing minimal
|
||
debugging format support info #ifndef OBJ_ECOFF blocks.
|
||
(macro_build_lui): Eliminated sign_extend argument, because ECOFF
|
||
does not support a non sign extended high 16 bits reloc. Adjusted
|
||
all callers accordingly.
|
||
(tc_get_register): Renamed from get_register, and made non-static.
|
||
|
||
* config/mips-big.mt, config/mips-lit.mt: New files. Define
|
||
TARGET_BYTES_BIG_ENDIAN and TARGET_BYTES_LITTLE_ENDIAN,
|
||
respectively.
|
||
* configure.in (mips-*-bsd*): Use gas_target mips-lit.
|
||
(mips-*-ultrix*, mips-*-irix*, mips-*-ecoff): New targets, using
|
||
obj_format ecoff and gas_target mips-lit or mips-big.
|
||
|
||
Tue Mar 9 07:43:01 1993 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* version.c: Bump to version 2.0.1.
|
||
|
||
Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* write.c (chain_frchains_together): Check that seg_info (section)
|
||
is not NULL.
|
||
(write_object_file): Call obj_frob_file after setting the symbols,
|
||
not before.
|
||
|
||
Tue Mar 9 00:00:00 1993 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* Version 2.0 released.
|
||
|
||
Mon Mar 8 14:57:10 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-i386.h (TC_COUNT_RELOC): Look for fx_addsy only.
|
||
|
||
Fri Mar 5 09:05:55 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* read.h: Define stringer here.
|
||
* read.c, config/obj-ieee.c, config/obj-tcm88k.c: Not any of these
|
||
places.
|
||
|
||
Thu Mar 4 11:52:23 1993 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* read.c (s_space): Multiply repeat count by mult, not fill.
|
||
|
||
Thu Mar 4 05:20:42 1993 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* read.c: Include ctype.h.
|
||
|
||
Wed Mar 3 10:41:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
Patches from Eric Youngdale:
|
||
* make-gas.com: Find obstack.obj if it's not in the current
|
||
directory.
|
||
* read.c (s_ignore): Don't declare is_end_of_line. It's
|
||
redundant, and triggers a VMS gcc compiler bug.
|
||
|
||
* write.c (write_object_file): Macro SUB_SEGMENT_ALIGN now takes
|
||
current segment as an argument. (Ignored in all cases but VMS.)
|
||
All callers and definitions changed.
|
||
|
||
Tue Mar 2 11:56:19 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* listing.c: Cleaned up a bit, added prototypes, made NO_LISTING
|
||
case compile again.
|
||
|
||
Tue Mar 2 08:53:34 1993 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* config/tc-m68k.c (isbyte): Accept all values from -255 to +255,
|
||
so "~0x80" won't be rejected.
|
||
|
||
* config/obj-elf.c: No longer include elf/reloc.h.
|
||
(obj_elf_section): Set SEC_READONLY and SEC_CODE for text section.
|
||
(obj_elf_stab, obj_elf_desc): Deleted do-nothing and commented-out
|
||
routines.
|
||
(obj_elf_xstab): New routine.
|
||
(obj_elf_set_size): Call as_warn, not fprintf. Pass desired
|
||
argument to s_ignore. Put "#if 0" around unused code.
|
||
(obj_pseudo_table): Use s_ignore instead of do-nothing routines.
|
||
Call elf_xstabs for .stabs and .xstabs operators.
|
||
|
||
* config/tc-sparc.h (TARGET_FORMAT) [OBJ_ELF]: Now "elf32-sparc".
|
||
|
||
* write.c (relax_and_size_seg): Set SEC_RELOC only if fixups are
|
||
present.
|
||
|
||
* configure.in: mips-bsd configuration was missing format spec.
|
||
Should use aout.
|
||
|
||
* Makefile.in (Makefile): Depends on configure.in.
|
||
|
||
* config/tc-mips.c (append_insn): Don't check for alignment of
|
||
frag in memory; alignment of instructions in section is a separate
|
||
matter.
|
||
|
||
* config/tc-mips.c (macro_build_lui): Fix some assumptions of ANSI
|
||
C availability.
|
||
|
||
* listing.h: Always provide function declarations, not macros, so
|
||
pcc won't lose.
|
||
|
||
Tue Mar 2 00:50:43 1993 John Gilmore (gnu@cygnus.com)
|
||
|
||
* CONTRIBUTORS: Update Gilmore entry.
|
||
|
||
Mon Mar 1 12:03:16 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
|
||
|
||
* config/tc-sparc.c (sparc_ip): Correctly assemble prefetch
|
||
instructions. Accept integer prefetch function numbers.
|
||
|
||
Wed Feb 24 14:58:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-sparc.c (s_xword): Now call big_cons, so large
|
||
constants are accepted, but symbolic values are not. GCC will not
|
||
generate the latter currently.
|
||
|
||
* frags.c (frag_init): New function.
|
||
(zero_address_frag, bss_address_frag): Now initialized at run
|
||
time.
|
||
* as.c (main): Call frag_init.
|
||
|
||
Wed Feb 24 10:32:42 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* app.c (do_scrub_next_char): In LEX_IS_LINE_COMMENT_START case:
|
||
Don't unget ch2 if we didn't get it.
|
||
|
||
Wed Feb 24 04:14:07 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
||
|
||
* doc/Makefile.in (TEXIDIR): Updated for new layout.
|
||
|
||
* config/tc-sparc.c (s_common): Add support for ELF version.
|
||
(tc_gen_reloc) [BFD_ASSEMBLER]: New function.
|
||
* config/tc-sparc.h (TARGET_ARCH, TARGET_FORMAT) [BFD_ASSEMBLER]:
|
||
New macros.
|
||
(md_convert_frag): New macro.
|
||
|
||
* config/tc-m68k.c (m68k_ip): For PC-relative addressing of a
|
||
symbol, fix the offset so "+2" isn't required.
|
||
|
||
* config/tc-i960.c (line_comment_chars, line_separator_chars):
|
||
Define as common/bss.
|
||
(op_hash, reg_hash, areg_hash, iclasses_seen, br_cnt): Default C
|
||
initializers are sufficient.
|
||
|
||
* config/obj-aout.h [BFD_ASSEMBLER]: Include libaout.h from bfd.
|
||
(TARGET_FORMAT) [BFD_ASSEMBLER]: Default to "a.out".
|
||
(S_SET_*, S_GET_*, obj_frob_symbol) [BFD_ASSEMBLER]: New macros.
|
||
(S_SET_TYPE) [!BFD_ASSEMBLER]: New macro.
|
||
* config/obj-aout.c: Use PARAMS macro for declarations. Remove
|
||
"IGNORE_DEBUG" conditional, since both branches are identical.
|
||
Use S_SET_TYPE, S_GET_TYPE, and S_GET_DESC instead of directly
|
||
referencing symbol structure members.
|
||
(obj_aout_frob_symbol) [BFD_ASSEMBLER]: New function.
|
||
|
||
* as.h (struct frag): Reordered a couple of fields for better
|
||
packing.
|
||
|
||
* write.c (record_alignment) [BFD_ASSEMBLER]: Record it in the
|
||
section info.
|
||
(write_contents) [BFD_ASSEMBLER]: New function.
|
||
(write_object_file) [BFD_ASSEMBLER]: Always handle -R here. Call
|
||
fix_new with BFD_RELOC_NONE instead of 0 or NO_RELOC. Call
|
||
obj_frob_file, obj_frob_symbol, tc_frob_symbol if defined.
|
||
(fixup_segment): Make sure common-section symbols get treated the
|
||
same as undefined symbols.
|
||
(fix_new) [BFD_ASSEMBLER]: Argument r_type is of type
|
||
bfd_reloc_code_real_type. Use seg_fix_{root,tail}P derived from
|
||
section info.
|
||
* write.h (fix_new): Update prototype.
|
||
|
||
* tc.h (md_operand, md_convert_frag, tc_headers_hook,
|
||
md_section_align, md_undefined_symbol): Don't provide prototypes
|
||
if these are defined as macros.
|
||
(md_convert_frag) [BFD_ASSEMBLER]: BFD version needs bfd and
|
||
section passed.
|
||
|
||
* symbols.c (symbol_new): Argument NAME is now pointer to const.
|
||
Simplified STRIP_UNDERSCORE code. Remove assumptions about null
|
||
pointers in freshly allocated storage. [BFD_ASSEMBLER]: Get new
|
||
BFD symbol.
|
||
(colon): Display other/desc fields of redefined symbol only if
|
||
S_GET_OTHER and S_GET_DESC are defined.
|
||
(symbol_make): Argument NAME is now pointer to const.
|
||
(symbol_find, symbol_find_base): Likewise.
|
||
(S_IS_*, S_GET_*, S_SET_*) [BFD_ASSEMBLER]: New functions.
|
||
* symbols.h: Fix prototypes for new const arguments. Add
|
||
prototypes for BFD_ASSEMBLER S_* functions.
|
||
|
||
* subsegs.c (subseg_change) [BFD_ASSEMBLER]: BFD version of code
|
||
for changing to an existing section.
|
||
(subseg_new_rest) [BFD_ASSEMBLER]: Split off from subseg_new,
|
||
called by subseg_new and subseg_set.
|
||
(subseg_new) [BFD_ASSEMBLER]: Rewritten to change to new section,
|
||
given section name and subseg number.
|
||
(subseg_set) [BFD_ASSEMBLER]: New function; change to a possibly
|
||
new section/subsection.
|
||
|
||
* read.c: Don't include ctype.h.
|
||
(cons) [BFD_ASSEMBLER]: For undefined symbols, use BFD_RELOC_32
|
||
for now; should be machine-dependent.
|
||
|
||
* configure.in: Accept *-*-elf and *-*-solaris* as ELF format
|
||
targets, forcing BFD use.
|
||
|
||
Wed Feb 17 18:59:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-sparc.c: Use PARAMS macro for static function
|
||
declarations. Use BFD_RELOC_ macros everywhere, with
|
||
compatibility macros declared for non-BFD mode.
|
||
(struct sparc_it) [BFD_ASSEMBLER]: Use bfd_reloc_code_real_type
|
||
instead of enum reloc_type.
|
||
(emit_sparc_reloc): Commented-out function deleted.
|
||
(md_convert_frag): Deleted.
|
||
(tc_aout_pre_write_hook): Don't define for BFD_ASSEMBLER.
|
||
(md_apply_fix): Changed calling sequence (conditionally) for BFD
|
||
version.
|
||
* config/tc-sparc.h (md_convert_frag): New macro.
|
||
|
||
* config/obj-aout.c (obj_aout_stab): Refer to undefined_section,
|
||
not SEG_UNKNOWN. Use S_SET_TYPE, S_GET_TYPE, S_GET_DESC instead
|
||
of referencing fields directly.
|
||
|
||
* write.c (cvt_frag_to_fill): New function; extracted from
|
||
write_object_file.
|
||
(write_object_file) [! BFD_ASSEMBLER]: Call it.
|
||
(relax_and_size_seg) [BFD_ASSEMBLER]: New function; relax section
|
||
and set its size and flags.
|
||
|
||
* struc-symbol.h (struct symbol) [BFD_ASSEMBLER]: Replace some
|
||
fields with BFD equivalents. Turn on back-pointers, and add
|
||
target-specific fields at end.
|
||
|
||
Thu Feb 11 09:20:37 1993 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/obj-coffbfd.c (fill_section): Don't set vaddr here.
|
||
(write_object_file): Set it here instead, so that fixup_segment
|
||
can see the correct value.
|
||
|
||
Mon Feb 8 13:56:17 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* write.c (write_object_file): Check for errors and warnings and
|
||
bail out before processing contents.
|
||
(chain_frchains_together_1): New function, does most of the work
|
||
of remove_subsegs.
|
||
(chain_frchains_together) [BFD_ASSEMBLER]: New function.
|
||
(remove_subsegs) [! BFD]: Call it.
|
||
(write_object_file) [BFD_ASSEMBLER]: Converted to use BFD
|
||
structures and routines.
|
||
|
||
* config/obj-elf.*: New files.
|
||
|
||
* config/mips.mt, config/rs6000.mt: Deleted.
|
||
|
||
* config/h8300.mt: Don't specify compiler here.
|
||
|
||
* config/z8k.mt: The z8k code depends on the z8k opcode table,
|
||
not the h8300 one.
|
||
* config/tc-z8k.h: Comment fix.
|
||
|
||
* write.c: Reordered some functions for better inlining.
|
||
(fixup_segment): Linkrelax code is no longer conditional on
|
||
TC_I960.
|
||
|
||
Thu Feb 4 12:45:16 1993 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* config/{h8500.mt, config/tc-h8500.c, config/tc-h8500.h,
|
||
config/obj-coffbfd.c, obj-coffbfd.h}: support for the H8/500.
|
||
|
||
Wed Feb 3 19:28:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/obj-vms.h (SUB_SEGMENT_ALIGN): Define VMS version here.
|
||
* write.c (write_object_file): Not here.
|
||
(fix_new): Initialize fx_addnumber.
|
||
|
||
* listing.c: Don't include target-cpu.h explicitly, since as.h
|
||
includes it.
|
||
|
||
Thu Jan 28 00:35:40 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
||
|
||
* write.h [BFD_ASSEMBLER]: Don't declare next_object_file_charP,
|
||
*_fix_root, *_fix_tail, seg_fix_rootP, seg_fix_tailP.
|
||
(struct fix): Reordered fields for compactness and efficiency.
|
||
Converted some logical fields to 1-bit fields.
|
||
|
||
* config/obj-aout.h: Use PARAMS.
|
||
[BFD_ASSEMBLER]: Don't define/declare AOUT_MACHTYPE, seg_N_TYPE,
|
||
N_TYPE_seg, DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE.
|
||
|
||
* read.c: Don't include listing.h; as.h includes it. Removed
|
||
DONTDEF code.
|
||
[BFD_ASSEMBLER]: Include subsegs.h.
|
||
(old_buffer, new_broken_words): Default initialization is
|
||
sufficient.
|
||
|
||
* output-file.c [BFD_ASSEMBLER]: Include bfd.h, default TARGET_MACH
|
||
to 0, define stdoutput.
|
||
(output_file_create) [BFD_ASSEMBLER]: Call bfd_perror on failure.
|
||
Call bfd_set_arch_mach.
|
||
(output_file_close) [BFD_ASSEMBLER]: Call bfd_close, not
|
||
bfd_close_all_done. Call bfd_perror on failure.
|
||
(output_file_append) [BFD_ASSEMBLER]: Don't define.
|
||
|
||
* config/m68kcoff.mt (LOCAL_LOADLIBES): Delete definition.
|
||
|
||
* subsegs.h (segment_info_type): Always define. Omit field scnhdr
|
||
if not MANY_SEGMENTS. Define new field bfd_section if
|
||
BFD_ASSEMBLER.
|
||
(seg_info): New macro.
|
||
|
||
* expr.c, input-scrub.c: Use PARAMS macro. Deleted unused
|
||
variables, and some irrelevant comments.
|
||
|
||
* Makefile.in (ALL_CFLAGS): Include $(BFDDEF).
|
||
(LIBS): Include $(BFDLIB). Don't bother with $(CLIB).
|
||
* configure.in: Permit --with-bfd-assembler now, with a warning.
|
||
Variable need_bfd is now a boolean, as is new variable bfd_gas.
|
||
Set BFDDEF and BFDLIB in Makefile when appropriate.
|
||
|
||
* as.c: Removed "#ifdef DONTDEF" and "#ifdef comment" code.
|
||
(main): Refer to flag_always_generate_output instead of
|
||
flagseen['Z'].
|
||
|
||
* as.c (main) [BFD_ASSEMBLER]: Open output bfd.
|
||
(*_section) [BFD_ASSEMBLER]: Define them.
|
||
(perform_an_assembly_pass) [BFD_ASSEMBLER]: Initialize them, and
|
||
set section flags when appropriate.
|
||
* as.h (SEG_NORMAL) [BFD_ASSEMBLER]: Require that the specified
|
||
section is not absolute, undefined, or an assembler internal one.
|
||
(absolute_section, undefined_section): Always define.
|
||
* expr.c, read.c, symbols.c: Refer to *_section, not SEG_*; break
|
||
switch statements into if-else trees.
|
||
* symbols.c [MANY_SEGMENTS]: Deleted redundant definitions of
|
||
SEG_BSS and SEG_DATA.
|
||
|
||
* as.h (frag_now_fix): New macro.
|
||
* symbols.c (colon): Use it.
|
||
|
||
Wed Jan 27 21:43:53 PST 1993 Ralph Campbell (ralphc@pyramid.com)
|
||
|
||
* config/tc-mips.c: Added mips support for mips-dec-bsd.
|
||
* config/tc-mips.h: Added mips support for mips-dec-bsd.
|
||
* config/ho-mipsbsd.h: Added mips support for mips-dec-bsd.
|
||
* config/mips-opcode.h: Added mips support for mips-dec-bsd.
|
||
* configure.in: Added mips support for mips-dec-bsd.
|
||
* atof-generic.c: Define TRUE and FALSE if not defined.
|
||
|
||
Thu Jan 21 12:48:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* version.c: Bumped version number to 1.93.05.
|
||
|
||
Wed Jan 20 17:11:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/obj-coff.c (obj_emit_relocations): Don't use #elif.
|
||
(obj_emit_lineno): Don't need return at end of void function.
|
||
(obj_symbol_new_hook): Ditto.
|
||
|
||
* config/tc-m68k.c: Removed some unused code.
|
||
(tc_aout_fix_to_chars): Array nbytes_r_length is now const.
|
||
|
||
* config/tc-m68k.h (TC_COUNT_RELOC): Don't emit reloc if only
|
||
offset field is set.
|
||
|
||
Fri Jan 8 05:44:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-sparc.c (sparc_ip): For %uhi and %ulo, if not
|
||
ENV64, emit no reloc.
|
||
(md_pseudo_table): For ".xword", call s_xword.
|
||
(s_xword): New function.
|
||
|
||
* config/tc-sparc.c (architecture_requested, warn_on_bump,
|
||
md_relax_table): Use default zero initialization.
|
||
(s_reserve): Since SEG_E2 is equivalent to SEG_BSS, just use the
|
||
latter, instead of selecting with preprocessor conditionals.
|
||
|
||
Thu Jan 7 08:58:21 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||
|
||
* configure.in: recognise all sparclite variants
|
||
|
||
Thu Jan 7 05:25:25 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* read.c (s_data) [!BFD_ASSEMBLER]: Fix typo in 4 Jan change --
|
||
accidentally changed to use subseg_change where it should have
|
||
been subseg_new.
|
||
|
||
Tue Jan 5 08:42:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* expr.c (operand): If character other than comma or newline is a
|
||
logical end-of-line character, use the newline case.
|
||
From Eric Youngdale:
|
||
(operand): Set X_add_number field for floating-point numbers.
|
||
(operand): Treat zero byte as end-of-operand.
|
||
|
||
* configure.in (per-target): Look for with_bfd_assembler option.
|
||
For now, only accept "no", until the merge is done.
|
||
|
||
Merged changes from Eric Youngdale (youngdale@v6550c.nrl.navy.mil):
|
||
* as.c, flonum-konst.c, hex-value.c, input-file.c, version.c,
|
||
config/obj-aout.h, config/obj-vms.c: VMS -> HO_VMS.
|
||
* read.c: Finish conversion to S_* macros in the VMS only
|
||
parts of the program. Add "const" modifier to hex_value.
|
||
* as.c, read.c, symbols.c, write.c: Change "ifdef VMS" to
|
||
"ifdef OBJ_VMS".
|
||
* expr.c: Add "const" modifier to hex_value.
|
||
* symbols.c: Finish conversion to S_* macros in the VMS only
|
||
parts of the program. Add "const" modifier to
|
||
md_[long,short]_jump_size. Remove declaration of const_flag
|
||
(which will be declared in obj-vms.h).
|
||
* write.c: Add "const" modifier to md_[long,short]_jump_size.
|
||
Fix arguments to VMS_write_object_file.
|
||
* config-gas.com: New file. Script for VMS systems to set up the
|
||
configuration to build gas for VMS, and create config.status.
|
||
* make-gas.com: Redone to work with new scheme.
|
||
* config/obj-vms.c: Patch to fix bug where we were not correctly parsing the
|
||
stabs directives.
|
||
* config/obj-vms.c: Define macros COPY_LONG and COPY_SHORT which
|
||
will swap bytes if needed on a big endian system. Use throughout
|
||
as needed.
|
||
* config/obj-vms.c (obj_aout_stab): Add code to generate listing file.
|
||
* config/obj-vms.c (VMS_typedef_parse): Add alias to correctly handle certain
|
||
types of malformed stabs. Change parsing algorithm so that we are
|
||
more certain of having all of the information that we need on hand.
|
||
* config/obj-vms.c (final_forward_reference): New function, used to help
|
||
resolve the data types of as many struct elements as possible
|
||
when some part of the struct is not fully defined by the compiler.
|
||
* config/obj-vms.c (VMS_LSYM_Parse): Correctly handle case of continuation
|
||
stabs directives.
|
||
* config/obj-vms.c (VMS_write_object_file): Define all vtable psects
|
||
as symbols as well in the object file. Look for external functions
|
||
that start with "__vt.", and turn them into variables, since the
|
||
g++ compiler is incapable of doing this.
|
||
* config/tc-vax.c: Add '1' option for backward compatibility with older GCC
|
||
versions.
|
||
* bignum-copy.c (bignum_copy): Fix bug where we pad with zeroes.
|
||
* input-scrub.c (as_where): Fix bug where as would crash if we did not
|
||
have the name of the source file yet.
|
||
* config/ho-vms.h: define HO_VMS, not HO_VAX.
|
||
|
||
Mon Jan 4 05:17:26 1993 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* read.c (s_data): Always use "data_section", since it'll map to
|
||
SEG_DATA or SEG_E1 if needed.
|
||
(s_lcomm): Likewise with bss_section.
|
||
(s_fill): Use memset, not bzero.
|
||
|
||
Thu Dec 31 04:29:27 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
||
|
||
* read.c: Deleted some code under "#ifdef DONTDEF" that was for
|
||
handling GDB symbol table data.
|
||
|
||
* config/obj-aout.h (segment_name): Delete definition.
|
||
(seg_name): Delete declaration.
|
||
* config/obj-bout.h (segment_name, seg_name): Ditto.
|
||
* config/obj-vms.h (segment_name, seg_name): Ditto.
|
||
* config/obj-coff.h (segment_name): Ditto.
|
||
* config/obj-coffbfd.h (segment_name): Ditto.
|
||
|
||
* Changes for BFD_ASSEMBLER:
|
||
* obj.h (obj_crawl_symbol_chain): Declare only if not
|
||
BFD_ASSEMBLER.
|
||
(obj_header_append, obj_pre_write_hook): Ditto.
|
||
* as.h (stdoutput): New var, defined only if BFD_ASSEMBLER.
|
||
(segT) [BFD_ASSEMBLER]: New typedef for "asection *".
|
||
(segment_name) If BFD_ASSEMBLER, look up BFD section name;
|
||
otherwise, use seg_name array.
|
||
(seg_name): Declare only if not BFD_ASSEMBLER.
|
||
(section_alignment): Declare only if not BFD_ASSEMBLER.
|
||
(big_section, reg_section, pass1_section, diff_section,
|
||
absent_section, text_section, data_section, bss_section): If
|
||
BFD_ASSEMBLER, declare as variables; otherwise, declare as macros,
|
||
mapping to segT enum values.
|
||
(tc_aout_fix_to_chars, next_object_file_charP): Force parse errors
|
||
if these are used or defined, if BFD_ASSEMBLER.
|
||
(subseg_set, subseg_new) [BFD_ASSEMBLER]: Functionality of old
|
||
subseg_new split into two functions.
|
||
(SEG_NORMAL): For BFD_ASSEMBLER, always return true, for now.
|
||
|
||
* as.h (volatile): Don't define if already defined.
|
||
(had_errors, had_warnings): Provide prototypes for ANSI C even if
|
||
NO_STDARG.
|
||
(as_bad, as_fatal, as_tsktsk, as_warn): For GNU C version 2,
|
||
declare with format attribute for -Wformat checking.
|
||
|
||
Wed Dec 30 10:18:57 1992 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* app.c, config/tc-*.c: Don't include read.h, since it is already
|
||
included by as.h.
|
||
|
||
* These are based on patches from Minh Tran-le
|
||
<mtranle@paris.intellicorp.com>.
|
||
* configure.in (i[34]86-ibm-aix*): Accept i486 for host. Use
|
||
obj_format coffbfd and gas_target i386coff for target.
|
||
(i[34]86-*-isc*): New host (uses sysv).
|
||
* config/i386aix.mt: Removed (no longer used).
|
||
* config/mh-i386aix (RANLIB): Use true rather than /bin/true.
|
||
(MINUS_G): Removed.
|
||
(LDFLAGS): Added, defined as -shlib.
|
||
* config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine.
|
||
* config/te-sco386.h (LOCAL_LABEL): Don't define.
|
||
(DOT_LABEL_PREFIX): Define.
|
||
* expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label
|
||
name rather than L0\001.
|
||
* read.c (s_lcomm): Make a frag in SEG_BSS rather than using
|
||
local_bss_counter.
|
||
* symbols.c, symbols.h (local_bss_counter): Removed.
|
||
* write.c (write_object_file): bss no longer uses
|
||
local_bss_counter. Pass correct data and bss size to
|
||
VMS_write_object_file.
|
||
* config/obj-vms.c (VMS_write_object_file): Accept bss size as
|
||
argument, rather than using local_bss_counter.
|
||
* config/tc-m88k.c (s_bss): Don't use local_bss_counter.
|
||
* config/tc-sparc.c (s_reserve): Don't use local_bss_counter.
|
||
* config/obj-coffbfd.c (had_lineno, had_reloc): Removed.
|
||
(size_section): Restored sanity check.
|
||
(do_relocs_for): Base section address on s_paddr rather than
|
||
computing it. Adjust a29k R_IHIHALF special case to account for
|
||
section paddr (used to require paddr to be zero). If there are no
|
||
reclos, set s_relptr to 0. Set relocation size in object_headers.
|
||
(fill_section): Always set s_vaddr here, removing
|
||
ZERO_BASED_SEGMENTS case. Force s_scnptr for bss to 0. Don't set
|
||
NOLOAD for i386 .bss, because it confuses the SVR3 native linker.
|
||
Set STYP_INFO for .comment.
|
||
(coff_header_append): Use object headers and H_{SET,GET}_* macros.
|
||
Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER.
|
||
(crawl_symbols): Handle 8 character section name correctly. Use
|
||
H_{SET,GET}_* macros.
|
||
(do_linenos_for): Set lineno size in object_headers.
|
||
(write_object_file): Use H_{SET,GET}_* macros. Don't bother to
|
||
set s_vaddr here. If string_byte_count remains 4, set it back to
|
||
0, and only write strings out if there are some. Call
|
||
fill_section before do_relocs_for and do_linenos_for.
|
||
(obj_coff_section): Handle optional quoted second argument giving
|
||
section characteristics.
|
||
(obj_coff_bss): Added to handle .bss.
|
||
(obj_coff_ident): Added to handle .ident (puts string in .comment
|
||
section).
|
||
(obj_coff_lcomm): Put common symbols in .bss, not .data.
|
||
(fixup_mdeps): Change to segment. Call frag_wane after
|
||
md_convert_frag.
|
||
(fixup_segment): Explicitly check S_IS_COMMON before making 386
|
||
adjustment (already happened only for common symbols, but this is
|
||
clearer).
|
||
* config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define.
|
||
* config/tc-i386.c (s_bss): Don't use if I386COFF.
|
||
(md_pseudo_table): Ignore .optim and .noopt.
|
||
(tc_coff_sizemachdep): New function.
|
||
* config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3
|
||
compatibility.
|
||
(LOCAL_LABEL): Removed definition.
|
||
(DOT_LABEL_PREFIX): Defined.
|
||
|
||
Mon Dec 28 10:32:05 1992 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* app.c (app_push): Use memcpy, not bcopy.
|
||
(do_scrub_next_char): For \", return " not '.
|
||
(symbol_chars): Now const.
|
||
|
||
* expr.c (operand): If not LOCAL_LABELS_FB, don't look for "0f"
|
||
and "0b". If LOCAL_LABELS_DOLLAR, check for "0$".
|
||
|
||
* config/obj-coff.h: Don't use #elif.
|
||
|
||
* config/ho-sunos.h: Don't include sys/stdtypes.h; 4.0.3 doesn't
|
||
have it. (Reported by Noah Friedman, friedman@gnu.ai.mit.edu.)
|
||
|
||
Wed Dec 16 12:12:33 1992 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* write.c, config/obj-ieee.c: don't define SUB_SEGMENT_ALIGN
|
||
if it is already defined.
|
||
|
||
Tue Dec 15 12:40:11 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* app.c (do_scrub_begin): allow single quote strings if so
|
||
configured.
|
||
|
||
* config/*z8k*: checkpoint
|
||
|
||
Sun Dec 13 00:04:38 1992 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* read.c (read_a_source_file): avoid calling xmalloc (0).
|
||
|
||
Sat Dec 12 15:26:34 1992 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* 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.
|
||
* config/tc-i386.h: Define SUB_SEGMENT_ALIGN.
|
||
* config/tc-a29k.h: Define ZERO_BASED_SEGMENTS.
|
||
* config/tc-i386.c: (i386_operand): If I386COFF, accept any segment type.
|
||
|
||
Tue Dec 8 00:06:48 1992 Ken Raeburn (raeburn@rtl.cygnus.com)
|
||
|
||
* config/obj-coffbfd.c: Include libcoff.h.
|
||
|
||
* version.c: Now version 1.93.
|
||
|
||
Mon Dec 7 00:39:09 1992 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* config/tc-i386.c (md_pseudo_table): For 386bsd and linux, do
|
||
power-of-two alignment for .align.
|
||
|
||
* as.h: If BROKEN_ASSERT, just redefine `assert' to be trivial,
|
||
and leave everything else alone.
|
||
|
||
Fri Dec 4 16:58:42 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* Makefile.in (as.new): Don't bother saving as.old.
|
||
|
||
* write.c: Conditionalize on OBJ_VMS, not VMS.
|
||
(magic_number_for_object_file): Don't define if OBJ_VMS.
|
||
|
||
* config/obj-vms.c: Changes for traditional C.
|
||
|
||
Thu Dec 3 01:24:07 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
||
|
||
* config/ho-generic.h (malloc, realloc): Declare.
|
||
|
||
* Lots of comment/whitespace changes.
|
||
|
||
* write.h (struct fix): Some fields reordered, narrowed.
|
||
|
||
* read.c (MASK_CHAR): Define using C types, not magic number.
|
||
|
||
* as.c, input-file.c: Deleted some unused code.
|
||
|
||
* app.c, as.h: Doc fix.
|
||
|
||
* flonum-konst.c, flonum-mult.c: Include ansidecl.h.
|
||
|
||
* as.h (xmalloc): Argument is long.
|
||
|
||
* xmalloc.c (error): Remove declaration; as.h takes care of it.
|
||
|
||
* doc/as.texinfo: Regrouped documentation of some command-line
|
||
options. Updated options documentation for m68k. Some minor
|
||
wording/punctuation changes.
|
||
|
||
Mon Nov 30 11:42:11 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* configure.in: Accept target OS "vms".
|
||
|
||
* symbols.c: Merged ANSI and non-ANSI function decls, using
|
||
PARAMS macro.
|
||
|
||
* xmalloc.c: Just include as.h, don't bother trying to figure out
|
||
other header files.
|
||
|
||
* strstr.c, strerror.c: Deleted.
|
||
* Makefile.in: Deleted references.
|
||
|
||
* config/tc-ns32k.c: Don't include header file for string
|
||
declarations; leave that to ho-*.h.
|
||
|
||
Fri Nov 27 04:11:36 1992 Ken Raeburn (raeburn at cambridge-laptop.cygnus.com)
|
||
|
||
* config/coff_gnu.h [TC_I860]: Guesses for reloc type values,
|
||
imported from FSF sources.
|
||
|
||
* messages.c (strerror): Declare unconditionally.
|
||
|
||
* as.h: Delete alloca and register definitions.
|
||
|
||
* config/atof-ieee.c (mask): Now const.
|
||
|
||
* obstack.c, obstack.h: Deleted.
|
||
|
||
* as.h (flag_readonly_data_in_text): New flag.
|
||
* as.c (main): Set it for -R.
|
||
|
||
* as.h (flag_suppress_warnings): New flag.
|
||
* as.c (main): Set it for -W.
|
||
* messages.c (as_warn): Check it instead of flagseen['W'].
|
||
|
||
* as.h (flag_always_generate_output): New flag.
|
||
* as.c (main): Set it for -Z.
|
||
|
||
* config/tc-sparc.h: Define NEED_FX_R_TYPE.
|
||
* config/tc-a29k.h: Ditto.
|
||
* write.h (struct fix): Don't conditionalize fx_r_type field on TC
|
||
macros.
|
||
|
||
* as.h: Merged ANSI and non-ANSI function decls, using PARAMS
|
||
macro.
|
||
* bignum.h, expr.h, flonum.h, frags.h, input-file.h, listing.h,
|
||
obj.h, output-file.h, read.h, struc-symbol.h, symbols.h, tc.h,
|
||
write.h: Likewise.
|
||
* read.c: Likewise.
|
||
|
||
* xmalloc.c: Conditionalize on HAVE_MALLOC_H, not USG. Fold in
|
||
xrealloc from xrealloc.c.
|
||
* xrealloc.c: Deleted.
|
||
* Makefile.in (REAL_SOURCES, OBJS): Adjusted.
|
||
|
||
* configure.in: For host CPU a29k, rs6000, vax, consider using bsd
|
||
or vms ho- files.
|
||
|
||
* config/ho-sysv.h (setbuffer, HO_USG): Deleted.
|
||
|
||
* config/atof-ieee.c (atof_ieee): Exponent field isn't a pointer;
|
||
don't initialize it with NULL.
|
||
|
||
* config/ho-vax.h (M_VAX): Deleted; was unused.
|
||
|
||
* README-vms, config/ho-vms.h, config/obj-vms.c, config/obj-vms.h:
|
||
New files imported from FSF version, contributed by Eric Youngdale.
|
||
* README-vms-dbg, config/vms: Deleted.
|
||
|
||
* ChangeLog, config/ChangeLog: Merged.
|
||
|
||
* config/*tahoe*, configure.in: Tahoe support brought in from FSF
|
||
version.
|
||
|
||
* input-file.c (input_file_open): Eliminate call to setvbuf.
|
||
[USG] (setbuffer): Deleted macro.
|
||
|
||
Mon Nov 23 11:00:16 1992 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* all files: Whitespace changes for GNU indentation style, done by
|
||
GNU `indent'. Some cleanup still needed, especially of comments.
|
||
|
||
* configure.in: No te-386bsd.h file exists; don't try to use it.
|
||
|
||
* config/obj-coff.c (obj_coff_endef): Use as_warn, not fprintf.
|
||
|
||
* config/tc-m68k.c (md_assemble): Don't complain about 68000 with 68881;
|
||
could be doing emulation.
|
||
|
||
Thu Nov 19 11:47:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
z8000 documentation
|
||
* doc/Makefile.in, doc/all.m4, doc/as-all.texinfo, doc/as.texinfo:
|
||
all modified.
|
||
|
||
Tue Nov 10 09:49:24 1992 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* Makefile.in (as.o, obj-format.o): added dependency on subsegs.h.
|
||
|
||
* subsegs.h: add extern to segment_info declaration.
|
||
|
||
* read.h: added extern declarations for comment_chars,
|
||
line_comment_chars, and line_separator_chars.
|
||
read.c, app.c: removed definitions of comment_chars,
|
||
line_comment_chars, and line_separator_chars.
|
||
|
||
* config/tc-m68k.c (m68k_reg_parse): If REGISTER_PREFIX isn't defined,
|
||
still accept (but don't require) OPTIONAL_REGISTER_PREFIX before
|
||
the register name.
|
||
(insert_reg): put REGISTER_PREFIX before register names before
|
||
putting them in the symbol table.
|
||
* config/tc-m68k.h (OPTIONAL_REGISTER_PREFIX): Define to be "%", if not
|
||
M68KCOFF.
|
||
|
||
* config/obj-coffbfd.c (fill_section): set STYP_NOLOAD bit for .bss
|
||
section.
|
||
|
||
* config/atof-ieee.c, config/atof-ns32k.c, config/tc-*.c: made
|
||
EXP_CHARS, FLT_CHARS, comment_chars, line_comment_chars and
|
||
line_seperator_chars consistently const, and always
|
||
initialized them. Included read.h.
|
||
|
||
Thu Nov 5 17:55:41 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
|
||
|
||
* config/tc-sparc.c (sparc_ip): Add code to flag error if an absolute
|
||
constant will not fit in an immediate field.
|
||
(md_apply_fix, RELOC_BASE13 case): Check for relocation overflow.
|
||
|
||
Wed Nov 4 07:50:46 1992 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* config/obj-coff.c (callj_table): Delete global variable.
|
||
(obj_emit_relocations): Define it locally here, and only if
|
||
TC_I960 is defined.
|
||
|
||
* config/tc-m68k.c (m68k_reg_parse): Underscore is part of a symbol name.
|
||
(m68k_ip): Don't warn about bignum used as float bit-pattern.
|
||
|
||
* config/obj-coff.c: Replaced ANSI and non-ANSI function declarations
|
||
with a single set using PARAMS macro.
|
||
|
||
* config/tc-i960.c (tc_bout_fix_to_chars): Bit-field fixups want a length
|
||
of 2.
|
||
|
||
* config/tc-i960.c: Missed a couple of 0->NO_RELOC conversions.
|
||
|
||
* config/tc-i960.h (N_BALNAME, N_CALLNAME): Define as char-type values,
|
||
so widening works consistently.
|
||
|
||
Wed Oct 28 08:52:34 1992 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* version.c: Put conditional "const" before version_string, not
|
||
before dummy function for VMS. Now version 1.91.03.
|
||
|
||
* app.c (do_scrub_next_char): Need double-\ before `000' to show
|
||
printed rep of null character.
|
||
|
||
Fri Oct 23 14:40:38 1992 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/obj-coffbfd.c (write_object_file): check return value of
|
||
bfd_close_all_done.
|
||
|
||
Tue Oct 20 12:18:08 1992 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* Support for i386-sysv.
|
||
obj-coffbfd.c (do_relocs_for, write_object_file): set segment
|
||
addresses to reasonable sizes. New define ZERO_BASED_SEGMENTS can
|
||
be used to set them all to zero as was done before.
|
||
(fill_section): segment addresses now set in write_object_file.
|
||
(fill_section): Don't set STYP_NOLOAD for .bss section.
|
||
(fixup_segment): 386 uses strange common symbol format.
|
||
tc-i386.c (tc_coff_fix2rtype): use R_DIR32, not R_RELLONG, for
|
||
compatibility with SVR3.2 linker.
|
||
* configure.in: i386-sysv and i386-sco use coffbfd.
|
||
|
||
* app.c (do_scrub_next_char): discard whitespace after a label.
|
||
|
||
Sat Oct 10 12:33:45 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||
|
||
* configure.in: differentiate between SunOS 4 and Solaris2 for Sun4
|
||
hosts, use the sysv configuration for solaris2
|
||
|
||
Mon Oct 5 09:28:57 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
fix i960+non-bfd coff bit rot.
|
||
* config/obj-coff.c (c_dot_file_symbol, obj_coff_ln, obj_coff_line):
|
||
support for C source listings. (obj_coff_endef): look in the right
|
||
part of the symbol for the symbol name
|
||
|
||
* config/tc-m68k.c (get_num): make it work for all segments, not just the
|
||
first three.
|
||
|
||
Mon Oct 5 03:30:36 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
|
||
|
||
* configure.in: recognize i386-*-bsd emulation.
|
||
|
||
Thu Oct 1 23:05:12 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||
|
||
* configure.in: use the cpu-vendor-os triple for host and target
|
||
|
||
Tue Sep 29 12:22:52 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* config/obj-coffbfd.c (write_object_file): don't fixup for the z8k
|
||
* config/tc-z8k.c: lots of bug fixes
|
||
|
||
Tue Sep 29 10:51:55 1992 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/tc-i960.h, config/tc-i960.c: avoid the ANSI
|
||
preprocessor addition #elif, since it is not supported by old
|
||
compilers.
|
||
config/ho-rs6000.h, config/tc-m68k.c: the native RS/6000
|
||
compiler miscompiles a couple of expressions in tc-m68k.c.
|
||
|
||
Mon Sep 28 21:18:24 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* read.c (cons): If NO_RELOC is defined, use it.
|
||
|
||
* config/tc-i960.c (get_cdisp): Use NO_RELOC, not 0, in call to fix_new.
|
||
|
||
Fri Sep 25 18:18:52 1992 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/tc-m68k.h: if M68KCOFF, define DOT_LABEL_PREFIX (to require
|
||
local labels to start with a .) and set REGISTER_PREFIX to %.
|
||
tc-m68k.c (m68k_reg_parse): accept REGISTER_PREFIX if defined.
|
||
|
||
Fri Sep 25 17:53:43 1992 John Gilmore (gnu@cygnus.com)
|
||
|
||
* messages.c: Comment changes.
|
||
|
||
Fri Sep 25 14:12:58 1992 Ken Raeburn (raeburn@kyriath.cygnus.com)
|
||
|
||
* as.h: Test if __STDC__ is defined only, don't test its value.
|
||
* messages.c: If __STDC__ is not defined, define NO_STDARG.
|
||
|
||
Thu Sep 24 12:42:32 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
|
||
|
||
* listing.c (debugging_pseudo): Add stabs and stabn as things to
|
||
ignore.
|
||
|
||
Tue Sep 22 13:02:07 1992 Sean Eric Fagan (sef@cygnus.com)
|
||
|
||
* config/obj-coffbfd.c (do_relocs_for,fill_section): now allocate all
|
||
sections starting from zero, rather than making them consecutive.
|
||
This makes subsequent reloc calculations easier, esp if the object
|
||
format doesn't understand addends. (obj_coff_lcomm): (maybe temporarily)
|
||
allocate lcomm in .data rather than in .bss. It seems that some
|
||
tools can't cope with a non-zero sized bss before linkage.
|
||
|
||
Tue Sep 22 15:10:51 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-m68k.c: Replace "enum m68k_architecture" with "int"
|
||
throughout. That enum no longer means what we thought it meant.
|
||
|
||
* config/tc-m68k.c (md_assemble, md_parse_option): Handle new
|
||
"-mno-688[58]1" options.
|
||
|
||
* config/tc-m68k.c: Added CPU32 support.
|
||
|
||
Fri Sep 18 08:02:18 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* config/tc-m68k.c (m68k_ip): An(disp) is not pc relative.
|
||
|
||
Tue Sep 15 17:25:05 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
|
||
|
||
* Makefile.in (as.new): Remove dependence on LOCAL_LOADLIBES.
|
||
Change LIBDEPS dependence to LIBS.
|
||
|
||
Tue Sep 15 15:32:02 1992 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* Makefile.in (install): if $(tooldir) exists, install as in
|
||
$(tooldir)/bin.
|
||
|
||
Sun Sep 13 20:30:10 1992 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* 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.
|
||
|
||
* write.c (fixup_segment): fixed missing parens in expression
|
||
checking for byte or word overflow.
|
||
|
||
* config/obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD.
|
||
obj-coffbfd.c (fixup_segment): check for signed .word overflow if
|
||
WARN_SIGNED_OVERFLOW_WORD.
|
||
|
||
* config/obj-coffbfd.c (fixup_segment): fixed missing parens in
|
||
expression checking for byte or word overflow.
|
||
|
||
Fri Sep 11 10:21:04 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
Support for i386 coff
|
||
* config/obj-coffbfd.h : added stuff
|
||
* config/tc-i386.c (tc_coff_fix2rtype): new function
|
||
* config/tc-i386.h : new coff defines
|
||
|
||
Thu Sep 10 09:23:15 1992 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* 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.
|
||
|
||
Wed Sep 9 11:06:25 1992 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* 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
|
||
|
||
* config/tc-m68k.c (m68k_ip, m68k_ip_op, get_num, try_moto_index): merge
|
||
Motorola and MIT syntax; gas can now assemble either type of
|
||
file.
|
||
* config/tc-m68kmote.c, config/tc-m68kmote.h: removed now
|
||
superfluous files.
|
||
|
||
From Steve Chamberlain:
|
||
* config/m68kcoff.mt: for m68k COFF.
|
||
* config/obj-coffbfd.c: (fixup_mdeps) added
|
||
(size_section) removed bad sanity check
|
||
(fill_section) added rs_machine_dependent case
|
||
(write_object_file) call fixup_mdeps
|
||
(fixup_segment) set fx_subsy to 0.
|
||
* config/ obj-coffbfd.h: define WORKING_DOT_WORD (too hard to
|
||
support) and handle m68k.
|
||
* config/tc-m68k.c, config/tc-m68k.h: added m68k COFF support
|
||
and Motorala pseudo ops.
|
||
|
||
Tue Sep 8 17:10:58 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* Makefile.in (LIBS): Include opcode library.
|
||
|
||
Fri Sep 4 18:20:56 1992 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* config/tc-m68k.c (get_num, case SEG_BIG): If only small integers
|
||
including zero are accepted, pass +0.0.
|
||
|
||
Sun Aug 30 21:24:46 1992 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* Makefile.in: map "as" through program_transform_name when
|
||
installing.
|
||
|
||
* doc/Makefile.in: map "as" through program_transform_name when
|
||
installing.
|
||
|
||
Sat Aug 29 12:11:12 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
|
||
|
||
* Makefile.in (as.new): Depend on LOCAL_LOADLIBES.
|
||
|
||
Fri Aug 28 16:25:22 1992 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/obj-bout.h, config/obj-bout.c (obj_header_append,
|
||
obj_symbol_to_chars).
|
||
* config/tc-i960.c (md_ri_to_chars): Always output bout object
|
||
file in little endian byte order (used to use endianness of
|
||
host).
|
||
|
||
Tue Aug 25 15:50:48 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* config/tc-m68k.c (init_table): Now const. Always include 68851
|
||
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.
|
||
|
||
Tue Aug 25 15:13:48 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* listing.c (buffer_line): rewind to the start of include
|
||
files, they might be included twice.
|
||
|
||
* z8k.c, z8k.h, z8k.mt: z8000 support stuff
|
||
|
||
Mon Aug 24 12:45:43 1992 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* Makefile.in: defined TARGET_CPU for C code so that it can choose
|
||
one element of a family.
|
||
|
||
* config/tc-m68k.c: use TARGET_CPU to choose default cpu type.
|
||
|
||
* config/te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB
|
||
so that we can assemble hand-written libgcc code.
|
||
|
||
Fri Aug 21 14:38:44 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||
|
||
* messages.c (as_warn): Use fputs, not fprintf, with a buffer that
|
||
has already been formatted (but may still contain %-characters).
|
||
(as_bad): Likewise.
|
||
|
||
Wed Aug 19 11:20:59 1992 Ian Lance Taylor (ian@cygnus.com)
|
||
|
||
* config/tc-m68k.c, tc-m68kmote.c: the cas2 instruction is supposed to be
|
||
written with indirection on the last two operands, which can be
|
||
either data or address registers. Added a new operand type 'r'
|
||
which accepts either register type. Added '(' to notend stuff in
|
||
tc-m68kmote.c to accept (a0):(a2) in cas2 instruction.
|
||
|
||
Wed Aug 19 09:25:09 1992 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* as.h (enum _relax_state): Start off at one, not zero, to better
|
||
catch uninitialized-variable errors.
|
||
(linkrelax): Declare new variable.
|
||
|
||
* messages.c (warning_count, error_count): Default initializer is
|
||
sufficient.
|
||
|
||
* write.c: Merged some declarations, using PARMS macro.
|
||
(text_frag_root, data_frag_root, bss_frag_root, text_last_frag,
|
||
data_last_frag): No longer static.
|
||
(write_object_file, case rs_align or rs_org): If HANDLE_ALIGN is
|
||
defined, call it. Change segments before calling fixup_segment.
|
||
(relax_align): If linkrelax, provide extra padding.
|
||
|
||
* config/obj-bout.c (obj_emit_relocations): Emit alignment relocs despite
|
||
their not having symbols associated.
|
||
|
||
* config/tc-i960.c (norelax, instrument_branches): Default initializer is
|
||
sufficient.
|
||
(linkrelax): Delete variable definition.
|
||
(mem_fmt): Call fix_new with NO_RELOC.
|
||
(tc_bout_fix_to_chars): Handle alignment relocs.
|
||
(i960_handle_align): New function.
|
||
* config/tc-i960.h (linkrelax): Delete declaration.
|
||
(HANDLE_ALIGN): New macro; calls i960_handle_align.
|
||
(NEED_FX_R_TYPE, NO_RELOC): New macros.
|
||
|
||
Tue Aug 18 14:59:21 1992 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* config/sparc.mt: New file. Grab sparc opcode table from bfd
|
||
library.
|
||
|
||
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.
|
||
|
||
* doc/Makefile.in: always create installation directories.
|
||
|
||
Mon Aug 17 15:09:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* input-scrub.c (input_scrub_pop, input_scrub_push): memcpy was
|
||
being used with args swapped, causing occasional lossage when
|
||
refilling buffers after an include file.
|
||
|
||
Mon Aug 17 13:18:51 1992 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* messages.c (as_tsktsk): Use correct ANSI form for stdarg
|
||
version. Discard bogus DONTDEF version.
|
||
(as_warn, as_bad, as_fatal): Likewise.
|
||
|
||
Fri Aug 14 18:31:14 1992 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* config/tc-m68k.c (m68k_ip): If instruction is invalid for the
|
||
selected architecture, print a message saying so and listing what
|
||
processors support it, rather than saying "operands mismatch".
|
||
|
||
Thu Aug 13 13:53:19 1992 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* as.h [BROKEN_ASSERT]: If defined, turn off all assertion checks.
|
||
|
||
* config/ho-rs6000.h (M_RS6000): Don't define it.
|
||
(free): Declare it.
|
||
(BROKEN_ASSERT): Define it if not __STDC__.
|
||
|
||
Tue Aug 11 12:58:14 1992 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* sparc.mt: New file.
|
||
|
||
Mon Aug 10 14:37:08 1992 Per Bothner (bothner@cygnus.com)
|
||
|
||
* config/tc-m68k.c: ".align N" means align to N-byte boundary *only*
|
||
if TN_SUN3; otherwise align to 2**N-byte bounary.
|
||
|
||
Thu Aug 6 12:10:39 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* read.c (s_fill): make the .fill size clamped error a warn and
|
||
fix bug where 0's were always placed.
|
||
|
||
* config/tc-h8300.c: if a :8 is seen after an operand, fill top
|
||
two bytes of any constant with 0xff:
|
||
|
||
Wed Aug 5 12:02:40 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* config/tc-m68k.c (md_pseudo_table): fix the .align thing
|
||
the right way; for just the 68k. Sun 3 .align is nbytes, not ptwo.
|
||
|
||
Wed Aug 5 01:54:34 1992 John Gilmore (gnu at cygnus.com)
|
||
|
||
* config/tc-m68k.c (try_index): Error if index scaling specified and
|
||
assembling for an older CPU than a 68020.
|
||
|
||
Sat Aug 1 19:10:13 1992 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* config/tc-sparc.c (tc_aout_fix_to_chars): If pc-relative, take
|
||
fx_offset into account.
|
||
|
||
Fri Jul 31 21:53:28 1992 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* configure.in (mips host): Accept "ultrix" with version number.
|
||
|
||
* 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.
|
||
|
||
Fri Jul 31 12:26:34 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
|
||
|
||
* read.c (potable): Revert sac's incorrect change made Jul 13.
|
||
Align really is supposed to be ptwo not nbytes.
|
||
|
||
Mon Jul 20 02:51:59 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
|
||
|
||
* Makefile.in: _Do_ include libiberty. (from sef)
|
||
|
||
Fri Jul 17 15:15:28 1992 Ken Raeburn (raeburn@cygnus.com)
|
||
|
||
* expr.c (integer_constant): Handle "0f" and "0b" label references
|
||
properly.
|
||
|
||
Thu Jul 16 08:20:17 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* write.c (fixup_segment): if relaxing, don't do anything.
|
||
* config/obj-bout.[ch] : maintain the a_relaxable file header info
|
||
* config/tc-i960.c: new option -linkrelax
|
||
|
||
Mon Jul 13 14:11:36 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* expr.c (expr): allow SEG_BSS in expressions
|
||
* read.c (potable): align should be nbytes, not ptwo!
|
||
* write.c (write_object_file): extra glue for new bss attributes
|
||
(relax_segment): SEG_BSS is ok now
|
||
* config/tc-m68k.c (m68k_ip_op): can now parse more @( modes
|
||
|
||
Mon Jul 6 17:09:32 1992 Steve Chamberlain (sac@cygnus.com)
|
||
|
||
* config/obj-coffbfd.c (fill_section): mark .lit sections as STYP_LIT
|
||
|
||
Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
|
||
|
||
* configure.in: recognize m680x0 as having sun3 emulation mode for
|
||
vxworks environment.
|
||
|
||
|
||
Tue Jun 30 20:25:54 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
|
||
|
||
* Makefile.in: Add program_suffix (parallel to program_prefix)
|
||
|
||
Wed Jun 24 10:57:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* 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
|
||
|
||
Tue Jun 9 07:54:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* subsegs.c (subsegs_begin): create bss0_frchainP in the same was
|
||
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.
|
||
|
||
* config/tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do
|
||
pcrel data stuff. (md_estimate_size_before_relax): when relaxing a
|
||
68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into
|
||
the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put
|
||
it into SEG_BSS
|
||
|
||
Thu Jun 4 11:59:13 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* 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.
|
||
|
||
Tue Jun 2 16:47:09 1992 Steve Chamberlain (sac@cygnus.com)
|
||
|
||
* write.c (write_object_file): keep the fix_tail clean, which
|
||
fixes a bug in -R where relocations were being lost.
|
||
|
||
Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
|
||
|
||
* configure.in: recognize m680x0 as having sun3 emulation mode for
|
||
vxworks environment.
|
||
|
||
Sun May 31 05:33:00 1992 david d `zoo' zuhn (zoo@cygnus.com)
|
||
|
||
* configure.in: recognize m680x0 as an m68k
|
||
|
||
Thu May 28 11:22:02 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
|
||
|
||
* configure.in: Recognize sparclite as a sparc variant.
|
||
|
||
* config/tc-sparc.c: Use new ARCHITECTURES_CONFLICT_P macro. Mention new
|
||
-Asparclite flag.
|
||
|
||
Tue May 26 16:47:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* config/tc-a29k.c: lint
|
||
* listing.c, expr.c: patches from Andrew Smith
|
||
|
||
Thu May 14 17:22:48 1992 K. Richard Pixley (rich@rtl.cygnus.com)
|
||
|
||
* doc/Makefile.in: use m4 rather than gm4.
|
||
|
||
Mon May 4 18:56:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* config/obj-coffbfd.c: use is a synonym for section, (do_relocs_for):
|
||
calc the base of relocs correctly.
|
||
* config/tc-a29k.c (parse_operand): allow expressions to be in any section.
|
||
|
||
Mon Apr 27 13:13:31 1992 K. Richard Pixley (rich@cygnus.com)
|
||
|
||
* as.c, write.c: use -K rather than -k for the broken word warning
|
||
option.
|
||
|
||
Tue Apr 21 13:35:30 1992 K. Richard Pixley (rich@cygnus.com)
|
||
|
||
* Makefile.in: do not print recursion lines.
|
||
|
||
Wed Apr 15 21:19:31 1992 K. Richard Pixley (rich@rtl.cygnus.com)
|
||
|
||
* Makefile.in: the tooldir copy of gas goes directly in tooldir.
|
||
|
||
Tue Apr 14 14:50:22 1992 Ken Raeburn (Raeburn@Cygnus.COM)
|
||
|
||
* write.c (write_object_file): For b.out format, round up section
|
||
start addresses to match required alignment.
|
||
|
||
Thu Apr 9 05:45:29 1992 Ken Raeburn (Raeburn@Cygnus.COM)
|
||
|
||
* Makefile.in (install): Install into $(tooldir)/bin, since that's
|
||
where gcc looks for it.
|
||
|
||
Tue Apr 7 15:12:15 1992 Sean Eric Fagan (sef@cygnus.com)
|
||
|
||
* Makefile.in: Changed some lines to be less confusing for some
|
||
makes.
|
||
|
||
* input-file.c: Conditionalize on _IOFBF, not VMS.
|
||
|
||
* read.c, write.c: Change a series of ifdef/elif to
|
||
ifdef/else/ifdef etc.
|
||
|
||
Fri Mar 27 12:21:16 1992 K. Richard Pixley (rich@cygnus.com)
|
||
|
||
* symbols.c (fb_label_init): fix sizeof to memset.
|
||
|
||
Fri Mar 13 15:45:44 1992 K. Richard Pixley (rich@cygnus.com)
|
||
|
||
* Makefile.in: install the man page.
|
||
|
||
* Makefile.in: pass down MAKEINFO explicitly on info.
|
||
|
||
* doc/Makefile.in: use $(MAKEINFO) not makeinfo.
|
||
|
||
Fri Mar 13 08:03:03 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
||
|
||
* flonum-const.c: renamed flonum-konst.c to stop dos name
|
||
conflict.
|
||
|
||
Thu Mar 12 04:42:38 1992 K. Richard Pixley (rich@cygnus.com)
|
||
|
||
* config/tc-m68k.h, config/te-sun3.h: moved LOCAL_LABELS_FB
|
||
definition from tc-m68k.h to te-sun3.h.
|
||
|
||
Wed Mar 11 23:32:42 1992 K. Richard Pixley (rich@cygnus.com)
|
||
|
||
* configure.in: vxworks68 gets te-sun3.h.
|
||
|
||
* expr.c: remove limitation that local_labels_dollar or
|
||
local_labels_fb must be < 10.
|
||
|
||
* symbols.c: remove local_labels_dollar, replace with a function
|
||
interface for a sparse array. All users adjusted.
|
||
|
||
* config/te-sun3.h: add LOCAL_LABELS_DOLLAR.
|
||
|
||
Sat Mar 7 00:06:25 1992 K. Richard Pixley (rich@rtl.cygnus.com)
|
||
|
||
* doc/Makefile.in: commented out line for building as-all.texinfo.
|
||
This is temporary.
|
||
|
||
* doc/as.texinfo, doc/as-all.texinfo: added menu item hooks.
|
||
|
||
Fri Mar 6 21:57:18 1992 K. Richard Pixley (rich@cygnus.com)
|
||
|
||
* Makefile.in: added check target.
|
||
|
||
Tue Mar 3 15:45:56 1992 K. Richard Pixley (rich@rtl.cygnus.com)
|
||
|
||
* Makefile.in: added tooldir and program_prefix.
|
||
|
||
Sun Mar 1 04:43:19 1992 Michael Tiemann (tiemann@cygnus.com)
|
||
|
||
* write.{c,h} (fix_new): Make these declarations consistent.
|
||
|
||
Sat Feb 29 13:59:10 1992 Michael Tiemann (tiemann@cygnus.com)
|
||
|
||
* Makefile.in (strerror.o): Add rule so that broken Sun make can
|
||
work in subdirs.
|
||
|
||
Wed Feb 26 19:26:28 1992 Steve Chamberlain (sac at thepub.cygnus.com)
|
||
|
||
* read.c, obj-coffbfd.c : fix h8300 specific bit rot
|
||
|
||
* expr.c (operand): if can't work out what sort of operand it is,
|
||
then look through FLT_CHARS for a hint.
|
||
|
||
Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com)
|
||
|
||
* Makefile.in, configure.in: removed traces of namesubdir,
|
||
-subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
|
||
copyrights to '92, changed some from Cygnus to FSF.
|
||
|
||
* doc/Makefile.in, doc/configure.in: removed traces of namesubdir,
|
||
-subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
|
||
copyrights to '92, changed some from Cygnus to FSF.
|
||
|
||
Tue Feb 25 14:17:15 1992 Steve Chamberlain (sac at rtl.cygnus.com)
|
||
|
||
* expr.c: If an expression is single comma, then return with
|
||
SEG_ABSENT rather than an error - since the sparc front end does
|
||
really strange things with things like fbge,a
|
||
|
||
* as.h: include bfd.h if using many sections
|
||
* expr.c: LOCAL_LABELS_FB had been changed to lower case - so
|
||
local labels didn't work.
|
||
* listing.c (list_symbol_table): don't core dump when there's no
|
||
symbol there.
|
||
* write.c, write.h: call fix_new with the right number of args on
|
||
the H8.
|
||
* config/tc-h8300.[ch] : fix bugs reported by HMSI, and make
|
||
errors nices
|
||
|
||
Sat Feb 22 12:26:28 1992 Steve Chamberlain (sac at rtl.cygnus.com)
|
||
|
||
* app.c: MRI compatibility - allow single quote to start a string.
|
||
* as.c: fix typo recently introduced.
|
||
* as.h : Don't include aout/reloc.h - it's not right for COFF!
|
||
* expr.c: Much rewriting, to accommodate MRI syntax for
|
||
expressions. Also easier to read now.
|
||
* listing.c: Put back defuns
|
||
* read.c: modified to accept MRI syntax, put back listing pseudo
|
||
ops so that an assembler built with NO_LISTING ignores list ops
|
||
rather than pukes.
|
||
* write.c, write.h: fixs - only keep a reloc type in a fix if the target
|
||
machine is a SPARC or a 29K.
|
||
* config/obj-aout.c: added s_sect pseudo op
|
||
* config/obj-coffbfd.c: lints, set the filehdr flags right and
|
||
fill in the timestamp.
|
||
* config/obj-coffbfd.h: Since we don't include aout/reloc.h
|
||
anymore, define all the relocs which the tc-<x> bit will use so we
|
||
can translate from them to the coff types.
|
||
* config/tc-a29k.c: reloc_type isn't ane enum any more
|
||
* config/tc-m68k.c: Added NO_RELOC definition.
|
||
|
||
Fri Feb 21 06:21:07 1992 K. Richard Pixley (rich@rtl.cygnus.com)
|
||
|
||
* Makefile.in: put header files before C source for TAGS; remove
|
||
references to non-existent syscalls.h.
|
||
|
||
* read.c, write.c subsegs.c: back out the .bss changes.
|
||
|
||
* config/obj-aout.c: do not include stab.gnu.h if NO_LISTING.
|
||
|
||
* config/tc-i860.c, a.out.gnu.h: move i860 relocs to a proper place.
|
||
|
||
* a.out.h: removed.
|
||
|
||
Fri Feb 21 01:08:48 1992 Minh Tran-Le (TRANLE@INTELLICORP.COM)
|
||
|
||
* symbols.c (local_label_name): symbols now start with ^A.
|
||
|
||
* read.c, subsegs.c, write.c obj-coff.c: added handling of
|
||
`.bss` pseudo op for unitialized data. The new gcc (1.37.9x)
|
||
generate these sections. .align: will use NOP_OPCODE or 0
|
||
for padding. This is just for being nice to the
|
||
disassembler.
|
||
|
||
* expr.c (operand): changed to generate local label "\001L0"
|
||
starting with a ^A so that it is recognized as a local label.
|
||
|
||
* as.c (perform_an_assembly_pass): zero bss_fix_root, too.
|
||
|
||
* config/tc-i386.c: tc-i386.c: added handling of the following opcodes:
|
||
i/o opcodes - inb, inw, outb and outw. string manipulation with
|
||
att syntax - scmp, slod, smov, ssca, ssto.
|
||
|
||
* config/obj-coff.c: (for aix386) Moved the symbols .text, .data and .bss
|
||
to just after .file .
|
||
|
||
In obj_crawl_symbol_chain() where it tries to put the external
|
||
symbols apart, with the condition:
|
||
(!S_IS_DEFINED(symbolP) &&
|
||
!S_IS_DEBUG(symbolP) &&
|
||
!SF_GET_STATICS(symbolP))
|
||
it was moving too many symbols out. So I switch it back to the
|
||
condition:
|
||
(S_GET_STORAGE_CLASS(symbolP) == C_EXT && !SF_GET_FUNCTION(symbolP))
|
||
|
||
In obj_emit_relocations() added the conditional on KEEP_RELOC_INFO
|
||
so that we don't use the F_RELFLG which make the linker complain
|
||
that somebody has stripped the relocation info.
|
||
|
||
Also, the AIX ld program require that the relocation table
|
||
is sorted by r_vaddr like the standard ATT assembler does.
|
||
|
||
[he also changed the sizeof(struct ...)'s into the coff
|
||
style FOOSZ macros. I'm not sure this is right, but I can't
|
||
remember why. xoxorich.]
|
||
|
||
Fri Feb 21 01:08:48 1992 K. Richard Pixley (rich@cygnus.com)
|
||
|
||
* Makefile.in, configure.in, doc: use the doc. Build it, install
|
||
it, clean it, etc.
|
||
|
||
Tue Feb 18 02:21:25 1992 K. Richard Pixley (rich at cygnus.com)
|
||
|
||
* read.c: white space and comments only.
|
||
|
||
* configure.in: use the new atof-ns32.c for ns32k.
|
||
|
||
* write.c: comment change only.
|
||
|
||
* config/tc-m88k.[hc]: pulled in from hack's unfinished work. These
|
||
aren't yet integrated.
|
||
|
||
* config/tc-i860.[hc]: blew off the dust. Something must still be done
|
||
about conflicting relocation types.
|
||
|
||
* config/tc-ns32k.c: Replaced previous tc_aout_fix_to_chars stub with the
|
||
real thing.
|
||
|
||
* config/tc-i960.c, config/tc-sparc.c: white space and comments only.
|
||
|
||
* config/tc-a29k.h: delete duplicate macro definition.
|
||
|
||
* new file atof-ns32k.c copied from hack's last unreleased gas.
|
||
|
||
Mon Feb 17 07:51:06 1992 K. Richard Pixley (rich at cygnus.com)
|
||
|
||
* config/tc-ns32k.c: actually make tc_aout_fix_to_chars work
|
||
rather than abort.
|
||
|
||
* nearly everything. flush ChangeLog, package as gas-1.92.1.
|
||
ChangeLog's prior to this are sketchy at best. I have logs.
|
||
They just aren't ChangeLogs.
|
||
|
||
Copyright (C) 1992-1995 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
End:
|