Commit Graph

2372 Commits

Author SHA1 Message Date
Jeff Law cb84431489 * ecoff.c (ecoff_stab): Simplify. Correctly handle sym + offset
addresses for static variables.
So we can access statics in the static block on mips/alpha when using
gas.
1995-12-31 06:41:24 +00:00
Michael Meissner 36cb0e7c73 Make @got be real GOT reloc; make @xgot be old TOC16 reloc 1995-12-21 17:54:31 +00:00
Ian Lance Taylor 5e69b693c9 * config/tc-mips.c (load_address): Correctly handle a constant in
SVR4_PIC case.  From Richard Kenner <kenner@vlsi1.ultra.nyu.edu>.
1995-12-20 19:56:41 +00:00
J.T. Conklin 29861dd01a * 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.
1995-12-15 22:30:33 +00:00
Ian Lance Taylor 432b8fa87a * ecoff.c (ecoff_build_aux): Use new bfd_big_endian macro. 1995-12-15 21:12:36 +00:00
Raymond Jou ee68a042d2 * mpw-make.sed: If linking, edit ALL_CFLAGS to CFLAGS. 1995-12-15 20:17:52 +00:00
Ian Lance Taylor b14630f2df * config/obj-coff.c (write_object_file): Set the s_align field to
the number of bytes, rather than to the power of 2.
PR 8674, 8678.
1995-12-14 20:12:31 +00:00
Ian Lance Taylor 4a3d48fc1e * 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.
1995-12-12 17:21:31 +00:00
Stan Shebs 7e5e83cfb4 * mac-as.r: Fix copyright and version strings.
(cfrg): Use PROG_NAME instead of literal name.
1995-12-12 00:27:29 +00:00
Ian Lance Taylor 1b10f50d90 * 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.
1995-12-11 19:23:10 +00:00
Ian Lance Taylor 2f3bbb1b70 * config/obj-multi.h: If OBJ_MAYBE_ELF, define OBJ_SYMFIELD_TYPE. 1995-12-07 02:04:14 +00:00
Ken Raeburn 624c91d1e7 * read.c (s_fill): If md_flush_pending_output is defined, call it. 1995-12-05 22:28:25 +00:00
Ken Raeburn 9e4b3a2329 * config/obj-coff.c (size_section, fill_section, fixup_mdeps): Treat
rs_align_code like rs_align.
1995-12-04 23:11:02 +00:00
David Edelsohn 3554987a2f * config/tc-arm.c (cp_address_required_here): Set pre_inc when
converting an absolute address into a PC-relative one.
1995-12-03 23:26:32 +00:00
Stan Shebs 204c73d82e Edit out GM-specific bits from files. 1995-12-03 22:11:25 +00:00
Stan Shebs 90f543f684 * mpw-config.in: Don't always use te-generic.h for emulation.
(powerpc-apple-macos): Use emulation te-macos.h.
start-sanitize-gm
	(mips-gm-magic): New configuration.
end-sanitize-gm
	* mpw-make.sed (install, install-only): Edit in Mac-specific
	install procedure.
1995-12-01 22:40:56 +00:00
Ian Lance Taylor 2eec871057 * configure.in: Improve message about unsupported ELF targets.
* configure: Rebuild.
1995-12-01 19:38:40 +00:00
Ian Lance Taylor d4c8a45ee7 * config/tc-m88k.c (m88k_do_align): Correct check for whether fill
pattern is zero.  From Manfred Hollstein.
1995-12-01 15:56:25 +00:00
Kim Knuttila 531a1af274 idata alignment in .s files 1995-11-30 18:47:11 +00:00
Ian Lance Taylor 464070de43 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.
1995-11-30 16:25:27 +00:00
Ken Raeburn 9d5aef8075 configure.in: handle m68k-sysv4 correctly 1995-11-30 04:24:08 +00:00
Ken Raeburn ac9ef8eef1 Move struct hash_entry from hash.h to hash.c. 1995-11-30 04:22:27 +00:00
Ken Raeburn 6a08732583 (elf_frob_symbol): Don't free and clear sy_obj if it's already known to be null. 1995-11-30 04:19:13 +00:00
Michael Meissner 77fa4d98a8 Fix -mrelocatable 1995-11-29 18:17:24 +00:00
Ken Raeburn c6e4e83496 Various Thanksgiving weekend hacks: clean up hash table, reduce various
structure sizes, stabs string memory use cleanup, statistics dump.
1995-11-28 19:23:15 +00:00
Ken Raeburn 6594d6b9c2 Clean up hash code, parameterize some actions, tweak some parameters. Hash
table entries, table allocation and control structure are larger now, but
collisions are reduced and string compares even further reduced.

Dump lots more statistics, especially hash code data, for --statistics.  Dump
statistics even in error cases.

Details in ChangeLog.
1995-11-28 19:21:09 +00:00
Ken Raeburn da954cd7b6 Remove unused sy_name_offset from ELF_TARGET_SYMBOL_FIELDS. 1995-11-28 19:09:58 +00:00
Ian Lance Taylor 6a4667f4dc * configure: Rebuild with autoconf 2.7. 1995-11-27 18:19:15 +00:00
Ian Lance Taylor 330add8ac5 * aclocal.m4 (AC_PROG_CC): Remove local definition.
* configure: Rebuild with autoconf 2.6.
1995-11-21 23:39:59 +00:00
Ian Lance Taylor 520dd8d5d9 * 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.
1995-11-20 22:27:49 +00:00
Ken Raeburn d6c4a3fa80 alpha fixes 1995-11-20 22:02:32 +00:00
Ken Raeburn b6f783b773 one-operand versions of jmp, jsr 1995-11-20 21:08:05 +00:00
Ken Raeburn b19865132f note dependence on alpha opcode table 1995-11-20 21:03:20 +00:00
Ken Raeburn 880b742924 rename te-delta88.h to avoid 8.3 conflict 1995-11-20 18:48:32 +00:00
Ian Lance Taylor a42cadde44 * gas/mri/immconst.d: New test.
* gas/mri/mri.exp: Run it.
	* gas/mri/constants.s: Test immediate constants.
	* gas/mri/constants.d: Corresponding change.
1995-11-17 15:36:38 +00:00
Ian Lance Taylor aa8a6656ee * config/m68k-parse.y (yylex): In MRI mode, '@' can start an octal
number.
	* expr.c (operand): Handle MRI suffixes after unadorned 0.
1995-11-16 17:51:35 +00:00
Ken Raeburn da9b55af46 version 2.6 1995-11-16 09:58:27 +00:00
Ken Raeburn 7b889f5eed * 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.

* config/tc-ns32k.h (TC_FIX_TYPE): Add missing semicolon.
1995-11-16 05:38:58 +00:00
Ken Raeburn 46618ae6e7 move md_end use, and make use of it in cpu back ends. clean up empty, unused
md_end functions.

i386 changes from Alan Modra for using multi-byte sequences instead of
single nops for code alignment.
1995-11-15 10:56:07 +00:00
Stan Shebs 75d1d87aa1 Keep te-macos.h. 1995-11-14 04:46:32 +00:00
Stan Shebs 51bc513e4e * 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.
1995-11-14 04:45:54 +00:00
Jeff Law 863fe9d059 * gas/hppa/unsorted/brlenbug.s: New test.
* gas/hppa/unsorted/unsorted.exp: Run it.
1995-11-13 04:31:25 +00:00
Jeff Law 8b39c5df0e * config/tc-hppa.c (pa_ip): Fix off-by-2 bug in length check for
conditional branches.
        (md_apply_fix): Likewise.
1995-11-13 04:17:57 +00:00
Victoria Mixon 0e68864241 references to pesch@cygnus.com changed to doc@cygnus.com 1995-11-10 19:28:36 +00:00
Ian Lance Taylor a9a675966b * 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.
1995-11-09 21:15:10 +00:00
Ian Lance Taylor a071b8e9b3 * config/obj-coff.c (fixup_segment): Don't subtract md_pcrel_from
from a PC relative reloc if TC_A29K.
1995-11-09 02:28:57 +00:00
Ian Lance Taylor 1f264bd5a5 * config/tc-a29k.c (line_separator_chars): Restore '@'. Existing
code depends upon it.
1995-11-09 02:26:59 +00:00
Ian Lance Taylor 6a649eda40 * 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.
1995-11-09 01:01:44 +00:00
Ian Lance Taylor 6364a18837 Wed Nov 8 16:38:14 1995 Eric Freudenthal <freudenthal@nyu.edu>
* configure.in (a29k-nyu-sym1): New target, just like other a29k
	targets.
1995-11-08 21:39:38 +00:00
Ian Lance Taylor 0fa6f8f66a * config/obj-coff.c (c_dot_file_symbol): Cast xmalloc return. 1995-11-08 16:39:28 +00:00
Ian Lance Taylor eec2cfefb2 * config/tc-alpha.c: Undefine inline if not __GNUC__.
(md_pseudo_table): Don't define "extern".
1995-11-06 23:52:27 +00:00
Ian Lance Taylor a3d1c56107 * config/tc-ppc.c (ppc_biei): Force symbol into text_section. 1995-11-05 04:54:52 +00:00
Ian Lance Taylor df7504dc52 * config/tc-ppc.c (md_show_usage): Put backslash at end of line. 1995-11-04 05:52:15 +00:00
Ian Lance Taylor 36e80ac6ee * macro.c (macro_expand_body): Don't warn about == with a
nonexistent parameter, in case it is in a comment field.
1995-11-03 20:53:44 +00:00
Ian Lance Taylor 07d012f66c * 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.
1995-11-03 18:31:25 +00:00
Ian Lance Taylor a132c404b6 * gas/m68k/link.s: Use "&" instead of "#" for immediate values.
* gas/m68k/fmoveml.s, gas/m68k/fmoveml.d: New test.
	* gas/m68k/all.exp: Run it.
1995-11-03 18:10:38 +00:00
Ian Lance Taylor 01f108bc4a x 1995-11-03 04:13:58 +00:00
Ian Lance Taylor dae9b93010 * gas/m68k/link.s, gas/m68k/link.d: New test.
* gas/m68k/all.exp: Run it.
1995-11-03 04:12:45 +00:00
Ian Lance Taylor a75f31ce1b 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.
1995-11-03 03:58:09 +00:00
Ken Raeburn 7954cc14d9 * config/tc-i386.c (md_assemble): For a jump instruction with non-constant
target, require 7 available bytes in the current frag, not 6.
1995-11-01 21:14:44 +00:00
Ian Lance Taylor b629f62767 * config/tc-ppc.c (ppc_lglobl): Do the right thing. 1995-11-01 00:00:47 +00:00
Fred Fish d033806fda * config/obj-elf.h: Include bfd/elf-bfd.h rather than
bfd/libelf.h.
1995-10-31 23:40:03 +00:00
Ian Lance Taylor 59c80ca243 Tue Oct 31 16:34:28 1995 David Mosberger-Tang <davidm@azstarnet.com>
* ecoff.c (ecoff_frob_symbol): Warn about weak common symbols.
1995-10-31 23:30:21 +00:00
Ian Lance Taylor 7ab1edc8f0 * 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.
1995-10-31 22:55:22 +00:00
Ian Lance Taylor d7b2038fac 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.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.
1995-10-31 21:41:59 +00:00
Ian Lance Taylor 0e3dd9a071 * config/tc-ppc.c (ppc_frob_symbol): Set BSF_NOT_AT_END for
symbols with csect aux entries.
1995-10-31 20:22:04 +00:00
Ian Lance Taylor 31751d9d3e * 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.
1995-10-31 19:16:02 +00:00
Ian Lance Taylor cbdf59ad43 * input-scrub.c (input_scrub_push): Reset sb_index. 1995-10-31 18:30:02 +00:00
Ian Lance Taylor 91123dbe02 * listing.c (listing_newline): Don't create a frag in the absolute
section.
1995-10-30 23:30:24 +00:00
Ian Lance Taylor df72d2a576 * 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.
1995-10-28 05:50:14 +00:00
Ian Lance Taylor 73255941ff * symbols.c (symbol_find_or_make): Change name to be const.
* symbols.h (symbol_find_or_make): Update declaration.
1995-10-28 05:05:46 +00:00
Ken Raeburn 9bfaf1b952 doc fixes from Roland 1995-10-26 23:48:41 +00:00
David Edelsohn ae143278fc * tc-arm.c (do_ldst): Assemble ldr/str r0, [r1] as a pre-increment
instruction.
1995-10-26 18:46:28 +00:00
Per Bothner 270433ccae * Makefile.in (diststuff): Also make info.
(maintainer-clean realclean):  Also make clean-info.
1995-10-25 18:59:59 +00:00
Jeff Law da533085e5 Document .nsubspa. 1995-10-24 21:27:44 +00:00
Jeff Law 18a1140191 * 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.

So we can put every function into its own $CODE$ subspace.
1995-10-24 21:26:51 +00:00
Michael Meissner 96fe71e1d5 Fix PR 8255 1995-10-24 18:59:05 +00:00
Jeff Law 97a010ff42 * gas/hppa/basic/basic.exp: Test lci and syncdma instructions.
* gas/hppa/basic/system.s: Corresponding changes.
1995-10-24 17:00:11 +00:00
Ken Raeburn 1d75481b33 changes for input file open error, not printing filename when not available 1995-10-23 20:40:09 +00:00
Ken Raeburn 2000c64319 If no filename is available (because we haven't opened the input file yet),
don't try to print one.
1995-10-23 20:39:44 +00:00
Jackie Smith Cashion c625fc23ba Added command-line support for NEC VR4100, to allow support for
4100-specific instructions.
1995-10-23 11:20:02 +00:00
Ken Raeburn 3366a224eb obstack-per-frchain changes
stabs.c caching changes
obstack chunksize changes
1995-10-18 21:23:09 +00:00
Ken Raeburn d19dcb6715 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.

In one test case of Mike's (i386-linux, over 300K lines of .s code with lots
of stabs records), run time and memory use are reduced by about 1/3.

Might introduce some problems in cases that use the frag obstacks in unusual
ways.  Test suite does pass for i386-linux and sparc-solaris targets though.
1995-10-18 21:21:38 +00:00
Ken Raeburn de5ebe2eba frag/obstack handling in tc-*.c; ignore -g for Alpha 1995-10-18 17:33:24 +00:00
Ken Raeburn dd1a53167c keep testsuite when doing "make distclean" 1995-10-18 17:25:31 +00:00
Ken Raeburn 625f4e4830 * stabs.c (aout_process_stab): Insert debug symbol into symbol chain after
parsing value expression, if any, to avoid separating continued .stabs lines.
1995-10-18 16:26:46 +00:00
Ian Lance Taylor 33a8c1b6cf * config/tc-mips.c (mips_elf_pseudo_table): Remove.
(mips_pop_insert): Don't call pop_insert on mips_elf_pseudo_table.
1995-10-16 14:57:35 +00:00
Michael Meissner 42b5ed2dfc Fix last fixes #3 1995-10-16 11:44:45 +00:00
Michael Meissner 653b59c8a6 Fix last fixes #2 1995-10-16 11:35:05 +00:00
Michael Meissner 17e2f77408 Fix last fixes 1995-10-16 11:23:34 +00:00
Michael Meissner 9f2c8daa27 Change error message 1995-10-16 11:18:23 +00:00
Michael Meissner b6b8f91187 Allow duplicate cmp instructions for -mcom 1995-10-16 11:10:22 +00:00
Michael Meissner 27ec941d72 spelling typo 1995-10-16 10:34:21 +00:00
Michael Meissner 958e09079d For -mcom, do not allow only POWER|PPC instructions. 1995-10-16 10:27:49 +00:00
Michael Meissner 4c2935f4c0 Add -mcom support. 1995-10-16 02:09:01 +00:00
Ian Lance Taylor 7db865dcad * config/tc-mips.c: Correct s_cons arguments. From Michael
Joosten <joost@ori.cadlab.de>.
1995-10-10 15:35:30 +00:00
Ian Lance Taylor 1b13e6fc49 * 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.
1995-10-10 00:25:16 +00:00
Ken Raeburn cdc49cba99 split change log 1995-10-06 22:39:14 +00:00
Ken Raeburn 9e3e3d4cff 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.
1995-10-06 21:39:20 +00:00
Ian Lance Taylor 13a6c75374 * sb.c, macro.c: Decide whether to include <string.h> or
<strings.h> just as as.h does.
1995-10-06 19:25:15 +00:00