Commit graph

1636 commits

Author SHA1 Message Date
Ian Lance Taylor
2cd14ddcae * 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.
1994-08-08 17:46:00 +00:00
Steve Chamberlain
6670b7f3e4 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.
1994-08-06 08:23:09 +00:00
Jeff Law
fbf718862a * config/tc-hppa.c (create_new_space): Initialize sd_subspaces
field in the space chain.
1994-08-01 20:12:41 +00:00
Jeff Law
363d615082 * config/tc-hppa.c (tc_gen_reloc): Cast return value from
hppa_gen_reloc_type.
1994-08-01 08:46:08 +00:00
Jeff Law
907f11fe71 * config/tc-hppa.c (tc_gen_reloc): Cast return value from
hppa_gen_reloc_type.
1994-08-01 08:44:02 +00:00
Ken Raeburn
5e0a90a8d7 * 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.
(BSR): New function.
(sparc_ip): Use it for right-shift operations of 32 bits or more.
(sparc_ip): Implement new operand type 'x'.
1994-07-28 23:36:16 +00:00
Ken Raeburn
10db66ecfd I80960XL support (sanitized), misc cleanup:
* 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_XL): Define.
(arch_tab): Include XL.
(targ_has_sfr, targ_has_iclass): Handle XL.
(tc_headers_hook): Set flags to F_I960XL for i960XL.
1994-07-27 00:58:19 +00:00
Ken Raeburn
39792caf99 Some bits of COFF cleanup, and i960-coff support:
* 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.
1994-07-27 00:37:46 +00:00
Ken Raeburn
f68880ead9 ns32k files; i960xl sanitization 1994-07-26 22:20:48 +00:00
Ken Raeburn
14c11f4482 more description on last change 1994-07-15 23:24:34 +00:00
Ken Raeburn
8cbd903e9c * lib/gas-defs.exp (run_dump_test): New routine for running the
assembler, running objdump or nm (not fully supported) on the
	resulting object file, and comparing the results against a file of
	regular expressions in the test suite, all in one command.
	(fail_phase, slurp_options): New auxiliary routines.
	(regexp_diff): Always return a value.  Fix bugs in actually doing
	the regexp test.

Should make it even easier to write gas test cases, giving Ian even less
excuse for not doing so. :-)
1994-07-15 23:13:10 +00:00
Ken Raeburn
9ca16e0e33 remove atof-ns32k.c 1994-07-15 22:28:22 +00:00
Ken Raeburn
462ab71d9b deleted atof-ns32k.c, no longer used 1994-07-14 21:58:13 +00:00
Ken Raeburn
259e35d4e9 updated ns532 support from Ian Dall 1994-07-14 18:58:06 +00:00
Ken Raeburn
3b6d6f715f * 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.
1994-07-14 18:40:36 +00:00
Ian Lance Taylor
4ac7a9e49f * 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.
1994-07-13 18:58:11 +00:00
Ken Raeburn
3c498933ab Updated some copyrights, cleaned up some header-file comments, and:
* 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.
1994-07-13 01:48:15 +00:00
Ken Raeburn
6b510a40ae config/ho-sysv.h (realloc): Declare. 1994-07-13 01:28:47 +00:00
Kung Hsu
a85cd2890c Modified Files:
read.c ecoff.h ecoff.c ChangeLog

        * 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.
1994-07-12 19:17:35 +00:00
Ian Lance Taylor
51d8e5aeba * 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.
1994-07-11 21:24:08 +00:00
Ian Lance Taylor
64d527f761 * ecoff.c (ecoff_build_lineno): Handle count correctly for last
line number.
1994-07-09 04:11:19 +00:00
Steve Chamberlain
6f15d409d0 * (process_pseudo_op): Pass right are 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.
1994-07-08 22:34:11 +00:00
Kung Hsu
daad3bbf95 Modified Files:
read.c read.h ecoff.c ecoff.h ChangeLog

        * 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.
1994-07-08 19:38:18 +00:00
Kung Hsu
6f89cd429c Modified Files:
obj-ecoff.h obj-elf.h

        * config/obj-ecoff.h: define macro OBJ_GENERATE_ASM_LINE_STAB.
        * config/obj-elf.h: ditto.
1994-07-08 19:36:55 +00:00
Steve Chamberlain
13d9fd33a4 * 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.
1994-07-08 00:13:14 +00:00
Jeff Law
109babdf49 * gas/hppa/reloc/relocreduce2.s: More relocation reduction tests.
* gas/hppa/reloc/reloc.exp: Run them.
1994-07-07 17:59:58 +00:00
Jeff Law
8fd04cbacc * 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.
1994-07-07 17:35:27 +00:00
Ian Lance Taylor
8882a587d9 * config/tc-ppc.c (ppc_tc): If not OBJ_COFF, force TOC entry to
align to a four byte boundary.
1994-07-06 05:14:48 +00:00
Ken Raeburn
10f67315f9 some internals doc updates 1994-07-05 21:00:22 +00:00
Ken Raeburn
4174e05265 handle 32-bit addends in exprs on alpha 1994-07-05 20:51:39 +00:00
Ian Lance Taylor
bcb62abf05 * 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.
1994-07-05 18:06:33 +00:00
Jeff Law
8fb99170f1 Fix thinko in last change 1994-07-05 01:18:23 +00:00
Jeff Law
655f3ef4af * config/tc-hppa.c (is_complex): New macro.
(cons_fix_new_hppa): "Handle" complex expressions.
1994-07-05 00:37:14 +00:00
Ken Raeburn
7e6fc3a845 * config/default.exp: Look for "as.new" in "$base_dir/..", where it got
compiled, not in "$base_dir".

* config/unknown.exp: Deleted.
1994-06-30 22:54:44 +00:00
Ken Raeburn
04f0c2e34b Some updates for const-ness added to BFD structures. 1994-06-30 19:09:58 +00:00
Ian Lance Taylor
f255457995 * 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'.
1994-06-30 18:47:29 +00:00
Stan Shebs
921e047bab * 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.
1994-06-30 00:59:49 +00:00
Stan Shebs
6f0b87c329 * 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.
1994-06-30 00:55:33 +00:00
Steve Chamberlain
40b559d27f * configure.in (i386-go32): When it's a host set
host_makefile_frag.
	* gasp.c  (get_any_string): Fix handling of % when in PharLap
	mode.
1994-06-28 01:20:04 +00:00
Steve Chamberlain
1b01afe630 Don't keep the "is" cases, only the "was" cases. 1994-06-28 01:19:19 +00:00
Steve Chamberlain
7a9e58720f Reflect new rules. 1994-06-28 01:17:29 +00:00
Stan Shebs
9e4eebc207 * 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.
	config/ho-mpw.h (HOST_SPECIAL_INIT): Define.
1994-06-26 23:51:45 +00:00
Stan Shebs
a6148eeb0d Remove GM-specific hackery, no longer needed. 1994-06-26 23:41:34 +00:00
Stan Shebs
f488a4d631 * as.c (main) [HOST_SPECIAL_INIT]: New hook, for host-specific
initialization.
1994-06-26 23:36:46 +00:00
Jeff Law
5ce4e41c09 * gas/lib/gas-defs.exp (gas_finish): Call "close" and "wait"
before exiting.  Enclose both calls inside a "catch".
	(objdump_finish): Likewise.
1994-06-26 22:52:06 +00:00
Jeff Law
cf8c0d64b3 From rob:
* gas/lib/gas-defs.exp (gas_finish): Call "close" before exiting.
	Make note about possibly needing a call to "wait" too.
	(objdump_finish): Likewise.
1994-06-26 19:26:33 +00:00
Jeff Law
1f12ae43c7 * config/tc-hppa.h (obj_frob_symbol): Define for OBJ_ELF.
More gas/bfd lossage exposed by the new linker code.
1994-06-22 06:32:54 +00:00
Rob Savoye
605491337b Look for as.new before looking in the path for the binary to test. 1994-06-21 22:15:04 +00:00
Ian Lance Taylor
dff770c8d6 * 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.
1994-06-21 16:45:09 +00:00
Ken Raeburn
639c820dae handle target ppc-*-elf*, for zoo. 1994-06-20 20:36:56 +00:00
Ken Raeburn
e0b36f18e7 expr.c (operand): If "0f" is followed by '\0', don't do eol checks. 1994-06-20 20:34:35 +00:00
Ian Lance Taylor
256816cae7 * ecoff.c (ecoff_build_aux): Call swap_tir_out and swap_rndx_out
via backend pointer, not directly.
1994-06-20 19:25:41 +00:00
Rob Savoye
afaf3145b5 Use "default" rather than "unix". 1994-06-18 20:17:26 +00:00
Rob Savoye
3b8bdecc4a Setup default and unknown init files. 1994-06-18 20:11:38 +00:00
Rob Savoye
a7175ea958 Don't pass AS and ASFLAGS, it's now done in the testing code. 1994-06-18 20:06:27 +00:00
Ian Lance Taylor
de442a3c57 * Makefile.in (config-stamp): Make sure there is at least one
element in the for loop.
1994-06-17 22:08:59 +00:00
Jeff Law
239f16dda0 * config/tc-hppa.c: Misc trivial changes to make gcc -Wall happy. 1994-06-17 18:09:16 +00:00
Jeff Law
0e68b3bca1 * config/tc-hppa.h (elf_hppa_final_processing): Declare. 1994-06-17 17:13:13 +00:00
Ken Raeburn
fd4b7c2511 folding v9 change log in; stop sanitizing configure.in 1994-06-16 23:06:58 +00:00
Ken Raeburn
708e18fdc6 v9 unsanitization 1994-06-16 21:04:02 +00:00
Ken Raeburn
286272fb43 * as.c (parse_args): Cast xmalloc return value. 1994-06-16 01:08:16 +00:00
Ken Raeburn
5ee93e0a8c v9, vms changes and some stuff i checked in recently but didn't log 1994-06-16 01:04:00 +00:00
Ken Raeburn
675ad6dc68 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).
1994-06-16 01:02:18 +00:00
Ken Raeburn
54eacbe683 For sparc64 target, use sparc cpu files and add sparcv9 to extra_defs. No
longer treat sparc64-*-aout* specially.
1994-06-16 00:49:06 +00:00
Ken Raeburn
9a0d0964d8 (config-stamp): If $(defs) contains multiple words, emit a #define line for
each.
1994-06-16 00:46:20 +00:00
Ian Lance Taylor
0e35ba9bc3 * config/obj-coff.c (coff_frob_symbol): Use C_STAT for the .text
section symbol, not C_LABEL.
1994-06-15 19:51:21 +00:00
Ian Lance Taylor
adf05987e2 * config/tc-mips.c (mips_ip): Permit a modifier in 'o' case. 1994-06-15 17:00:04 +00:00
Ian Lance Taylor
36a87ad7c5 * config/tc-mips.c (mips_ip): Permit non constant expressions in
'u' case: lets lui %hi(foo) work correctly.
1994-06-15 16:49:51 +00:00
Ian Lance Taylor
a5183648b2 * config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt
to put a common symbol in a set.
1994-06-13 16:13:10 +00:00
Stan Shebs
b06fe940ea Sun Jun 12 16:38:42 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-make.in (C, CFLAGS): Removed definitions.
	(ALL_CFLAGS): Define.
	Set default rule to use {CC} instead of {C}.
1994-06-12 23:41:37 +00:00
Ian Lance Taylor
02d4e9238a 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.
1994-06-11 20:45:49 +00:00
Ian Lance Taylor
7b1e07b475 * config/obj-elf.c (obj_elf_section): Don't set any flags based on
the type of a special section.
1994-06-10 21:42:30 +00:00
Ian Lance Taylor
726672c5a5 * config/ho-sunos.h: Include <stdlib.h>. Don't declare malloc,
realloc, free, or atol.
1994-06-10 17:55:45 +00:00
Jeff Law
ed50a13b4e * gas/hppa/reloc/reloc.exp (roundmode test): Tweak expected output
for SOM to match current testcase.
1994-06-10 16:24:54 +00:00
Bill Cox
0b3d0999e9 * Makefile.in (check): Delete as.new dependency, so that
regression test doesn't trigger an assembler build.
1994-06-08 13:30:30 +00:00
Ian Lance Taylor
daa7e18489 * Makefile.in (mostlyclean, realclean): New targets.
* doc/Makefile.in, testsuite/Makefile.in: Likewise.
1994-06-07 17:37:52 +00:00
Ian Lance Taylor
d2c71068e8 * 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.
1994-06-06 17:16:16 +00:00
Ken Raeburn
be64f9c8bf keep files for pushw test 1994-06-05 16:47:36 +00:00
Ian Lance Taylor
1fbfe10880 * 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).
1994-06-04 03:38:01 +00:00
David MacKenzie
baed44cd14 * as.c (show_usage), config/tc-alpha.c (md_show_usage),
config/tc-mips.c (md_show_usage): Fix up messages.
1994-06-03 21:19:02 +00:00
David MacKenzie
dbc0fdd792 improve usage message 1994-06-03 21:07:48 +00:00
David MacKenzie
def66e248c * 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.
1994-06-03 20:59:20 +00:00
David MacKenzie
f3d817d8b7 * 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.
1994-06-03 17:42:27 +00:00
Ken Raeburn
e4125bb4d9 note new i386 test 1994-06-02 23:47:38 +00:00
Ken Raeburn
121d5e17cd new test for "pushw" 1994-06-02 23:46:51 +00:00
Ken Raeburn
d9ac025813 whitespace 1994-06-02 23:46:41 +00:00
Ken Raeburn
a8773b7d26 oops, left out var decl 1994-06-02 23:37:45 +00:00
David MacKenzie
ebd6f11797 * 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.
1994-06-02 21:00:19 +00:00
Ken Raeburn
b166d61474 * Makefile.in (distclean): Remove site config files and gas.sum. 1994-06-02 19:09:30 +00:00
Ken Raeburn
314628f66c Various changes.. 1994-06-02 16:38:54 +00:00
Ken Raeburn
7577d7b645 (hash_new_table): Clear newly allocated table. 1994-06-02 16:37:55 +00:00
Ken Raeburn
82489ea062 68060 support 1994-06-02 16:35:41 +00:00
Ken Raeburn
2283f8a02a (fixup_segment) [!BFD_ASSEMBLER] [DIFF_EXPR_OK]: Do conversion to pc-relative
for difference, even if pcrel is already set.
1994-06-02 16:18:33 +00:00
Ken Raeburn
6ef37255ad (potable): Add this_gcc_requires_the_gnu_assembler in all lower-case, in case
we're ignoring case of opcodes in the input file.
1994-06-02 16:15:56 +00:00
Ken Raeburn
b418bc52c0 (target i386-*-netbsd0.8): Use 386bsd emulation. 1994-06-02 16:07:16 +00:00
Ken Raeburn
0952861cab Handle EV5 (21164/66/68) PALcode support.
* 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.
1994-06-02 16:06:43 +00:00
Ken Raeburn
4b9f440949 (.section): Document as unavailable for a.out type formats. 1994-06-02 16:03:41 +00:00
Ken Raeburn
f299d06dd5 (install-info-gasp): Use $$dir when installing file. 1994-06-02 16:01:18 +00:00
Ian Lance Taylor
0221ddf71a * config/tc-mips.c (mips_ip): Force floating point values to be
aligned correctly.
1994-06-01 14:56:21 +00:00
Ken Raeburn
488442d458 put current timestamp on merge log 1994-05-27 17:06:21 +00:00
Ken Raeburn
c06e55d99a changes from gas-2.3/binutils-2.4 dist (details in branch log msgs, changelogs) 1994-05-27 16:58:05 +00:00
Ian Lance Taylor
a193acc0cc * as.h: Don't declare parameters for strstr. 1994-05-20 22:02:39 +00:00
Ian Lance Taylor
f9c57637e4 * config/tc-sparc.c (md_section_align): Don't change the size if
OBJ_ELF.
1994-05-19 19:44:02 +00:00
Ian Lance Taylor
d43a0b2e43 Expand my entry a bit. 1994-05-18 17:32:52 +00:00
Ian Lance Taylor
ac7f7dfeb9 * Makefile.in (install): Redirect ln output to /dev/null. If ln
fails on gasp, install gasp.new, not gasp.
1994-05-18 17:11:19 +00:00
Jeff Law
44e8d616e5 * config/tc-hppa.c (pa_ip): Use R_HPPA_ABS_CALL, not R_HPPA for
absolute calls.
1994-05-18 15:18:23 +00:00
Bill Cox
858665b799 * lib/gas-defs.exp: Replace error proc calls with perror calls. 1994-05-17 21:54:41 +00:00
Jeff Law
ee8b834600 * config/tc-hppa.c (pa_parse_fp_cmp_cond): Report an error
on a partial completer match.
1994-05-17 18:54:50 +00:00
Jeff Law
3315c7c714 * 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.
1994-05-16 19:29:56 +00:00
Jeff Law
a0546d5ed3 * gas/hppa/reloc/reloc.exp: Tweak expected output to match new
ELF code.
	* gas/hppa/reloc/roundmode.s: Avoid "S" and "D" modes, ELF does
	not support them.
	* gas/hppa/unsorted/unsorted.exp: Tweak expected output to match
	new ELF code.
1994-05-16 19:25:51 +00:00
Ken Raeburn
5494073cf2 remove unneeded files 1994-05-08 05:21:37 +00:00
Ken Raeburn
a29f494c27 note file renaming 1994-05-08 05:21:18 +00:00
Steve Chamberlain
a47d2dc447 Disable single quote strings. 1994-05-07 23:51:30 +00:00
Steve Chamberlain
c794f0aa85 * config/go32.mh: New makefile fragment for go32 crossing.
* configure.in (host==go32): Use new fragment.
1994-05-06 21:14:49 +00:00
Ian Lance Taylor
2db90a6320 * gasp.c: Include libiberty.h.
(main): Remove unused variable i.
1994-05-06 18:39:04 +00:00
Ken Raeburn
23a832d2b9 Note deleted files. 1994-05-06 00:03:20 +00:00
Ken Raeburn
fbefddfb9c * 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.
1994-05-06 00:03:11 +00:00
Ken Raeburn
5923201105 doc/Makefile.in (distclean, clean-dvi, clean-info): Delete gasp files too. 1994-05-06 00:00:41 +00:00
Ian Lance Taylor
6d41de1976 * config/tc-mips.c (mips_emit_delays): Make call to
mips_no_prev_insn unconditional.
1994-05-05 22:22:24 +00:00
Ken Raeburn
a139d99b3c * 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.
1994-05-05 21:38:25 +00:00
Ken Raeburn
8f10906f94 * config/default.exp: Renamed from unix-gas.exp. 1994-05-05 21:34:11 +00:00
Ken Raeburn
608a26dbb2 * config/te-dpx2.h (TARGET_FORMAT, REGISTER_PREFIX_OPTIONAL): Define.
* configure.in (m68k-bull-sysv3*): Enable.
1994-05-04 20:24:51 +00:00
Ian Lance Taylor
2237e240e3 * config/tc-m68k.h (TARGET_FORMAT): If not TE_SUN3, define as
"a.out-zero.big".
1994-05-04 19:58:58 +00:00
Ken Raeburn
9267b020fa coff_gnu deletion 1994-05-04 17:38:50 +00:00
Ken Raeburn
7617444ce7 not used 1994-05-04 17:33:50 +00:00
Ian Lance Taylor
9fc63ce06a * 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.
1994-05-04 15:31:17 +00:00
Ken Raeburn
3f048548cc adjust_symtab, as.h changes 1994-05-04 07:08:44 +00:00
Ken Raeburn
a3547e53b5 i386-gnu config, coff sync, i960 coff changes 1994-05-04 06:32:20 +00:00
Ken Raeburn
de66fe1f18 (i386-*-gnu*): New target, handled like i386-mach. 1994-05-04 06:29:30 +00:00
Ken Raeburn
8fb85d50cd * obj-coff.h (TARGET_FORMAT) [TC_I960]: Select little endian version.
* obj-coffbfd.h (TARGET_FORMAT) [TC_I960]: Ditto.

* 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:

* 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.
* 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.

* 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.
* 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.
1994-05-04 06:19:26 +00:00
Ian Lance Taylor
1b96bdce15 * 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.
1994-05-02 21:26:55 +00:00
Ken Raeburn
17f0b355ee * 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.
1994-04-28 06:25:53 +00:00
Steve Chamberlain
6d65841ba1 Fix dos on H'digits.. 1994-04-27 18:19:42 +00:00
Steve Chamberlain
fa1a86f302 * configure.in (i386-*-go32): Uses coff now.
* gasp.c (main): Now takes -D on command line.
	(show_usage): Describe new options.
1994-04-27 18:15:14 +00:00
Steve Chamberlain
a5f4bc3075 More testcases. 1994-04-27 18:03:31 +00:00
Ken Raeburn
926ffe9446 m68k changes - optional reg pfx, apollo, delta, init 1994-04-26 22:22:51 +00:00
Ken Raeburn
326aa685fe * 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.
* 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:
* 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.
* 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.

* tc-m68k.h [TE_DELTA] (LEX_PCT): Define as 1, so that `%' can be used within a
label name.

* tc-m68k.h (m68k_init_after_args): Declare.
(tc_init_after_args): Define as m68k_init_after_args.
* 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.
1994-04-26 22:21:15 +00:00
Ken Raeburn
fb51366fe8 * config/obj-coffbfd.c (fill_section): Check COFF_NOLOAD_PROBLEM
also before setting STYP_NOLOAD for .bss section.
1994-04-26 21:28:49 +00:00
Ken Raeburn
b46f83f2d9 * 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.
1994-04-26 21:26:04 +00:00
Ian Lance Taylor
497c179acb * doc/Makefile.in (clean, distclean): Remove asconfig.texi. 1994-04-25 20:19:54 +00:00
Ken Raeburn
a926dd6a1b as.c, read.c log entries i forgot to check in friday 1994-04-25 19:55:03 +00:00
Jeff Law
f38cd6ec95 * config/tc-hppa.c (pa_ip): 13 bit immediate constant (for break
instruction) is unsigned.
1994-04-24 07:13:52 +00:00
Ian Lance Taylor
92867d8efa * 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.
1994-04-22 22:09:44 +00:00
Ken Raeburn
988238d380 * 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.
1994-04-22 20:39:01 +00:00
Ken Raeburn
e860dfd0e5 * listing.c (list_symbol_table): Don't print register symbols as undefined. 1994-04-22 20:36:39 +00:00
Ian Lance Taylor
6fdc26e663 * 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.
1994-04-21 19:53:25 +00:00
Ken Raeburn
71b4de6fb8 * 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.
1994-04-20 23:01:40 +00:00
Ken Raeburn
a6652b1c62 * config/tc-sparc.c (md_section_align): Always round up to multiple of
alignment power specified in bfd target vector.
1994-04-20 22:58:13 +00:00
Ken Raeburn
d924d209d3 * gasp.c: Include ctype.h. 1994-04-20 22:48:12 +00:00
Ken Raeburn
19990560be doc, obj-vms.c, ho-sysv.h changes 1994-04-19 01:21:07 +00:00
Ken Raeburn
ed307a20aa added info on warning functions &c 1994-04-19 01:20:04 +00:00
Ken Raeburn
dcdf81bb64 * Makefile.in, as.texinfo: Renamed asdoc-config.texi to asconfig.texi.
* Makefile.in (install-info-as, install-info-gasp): Get file
names from source directory without pathname.
1994-04-19 01:18:54 +00:00
Ken Raeburn
ad8019e829 (VMS_write_object_file): While looking for register mask, skip empty fill frags
caused by enabling listing output.
1994-04-19 01:12:48 +00:00
Ken Raeburn
77c36070dd Include string.h. 1994-04-19 01:08:38 +00:00
Jeff Law
9de7c1fc8d * 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.
1994-04-18 21:29:28 +00:00
Ian Lance Taylor
37032d9599 * 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.
1994-04-15 18:39:31 +00:00
Ian Lance Taylor
e904716cb4 * Makefile.in (bootstrap, bootstrap2, bootstrap3): Make gasp.new
as well as as.new.
1994-04-15 15:07:31 +00:00
Ken Raeburn
c92d9ee900 * 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.
1994-04-14 22:46:53 +00:00
Ken Raeburn
d6f98c552b * 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.
1994-04-14 22:30:22 +00:00
Ian Lance Taylor
b3cd855535 * Makefile.in (de-stage1, de-stage2, de-stage3): Use rm -f. 1994-04-14 20:39:39 +00:00
Ian Lance Taylor
2f06dd5c75 Remove assertion that was not intended to be checked in. 1994-04-14 17:59:14 +00:00
Ian Lance Taylor
1a69212c01 config/tc-mips.[ch] changes. 1994-04-14 17:40:43 +00:00
Ian Lance Taylor
ecd4ca1cef * 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.
1994-04-14 17:39:55 +00:00
Stan Shebs
cc886e3d1e 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.

Fixes a problem observed in sparc-lynx progressive.
1994-04-13 02:02:48 +00:00
Bill Cox
099c286e74 * Makefile.in (check): Set TCL_LIBRARY for runtest. 1994-04-11 23:17:18 +00:00
Jeff Law
caed9e8251 * config/tc-hppa.c (pa_procend): Handle case where label was
defined after the .proc directive.
1994-04-11 16:11:12 +00:00
Jeff Law
61b3c2c58b * gas/hppa/more.parse/callinfobug.s: Add missing name for procedure. 1994-04-11 16:03:21 +00:00
Jeff Law
1135d397cf * gas/hppa/more.parse/callinfobug.s: Add missing name for procedure. 1994-04-11 16:02:52 +00:00
Jeff Law
0521099057 * config/tc-hppa.c (pa_procend): Give an error if we encounter a
procend for a procedure without a name.
1994-04-11 16:02:12 +00:00
Jeff Law
77d9009d08 * gas/hppa/reloc/funcrelobug.s: Place the trampoline in the
$DATA$ rather than the $LIT$ subspace.
1994-04-11 14:55:16 +00:00
Ken Raeburn
38d693ff69 note deleted .mt files 1994-04-07 23:02:49 +00:00
Ian Lance Taylor
1c803e5223 * 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.
1994-04-07 18:33:09 +00:00
Jeff Law
0b503989f5 * 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.
1994-04-07 17:39:16 +00:00
Jeff Law
f39a73b1b6 * configure.in (hppa*-*-*elf*): Don't require "-hp-" for the
manufacturer.
1994-04-07 03:49:18 +00:00
Ian Lance Taylor
f3645945cf * 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.
1994-04-05 19:57:32 +00:00
Ken Raeburn
03fcf1f8f1 sparc, doc/Makefile.in changes 1994-04-05 18:18:04 +00:00
Ken Raeburn
59f10b344c (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.
1994-04-05 18:17:39 +00:00
Ken Raeburn
a7129c48cf (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.
1994-04-05 18:16:37 +00:00
Jeff Law
79381848ca * config/tc-hppa.c (tc_gen_reloc): Fix thinko in ELF version. 1994-04-05 00:06:46 +00:00
Ian Lance Taylor
1937a66509 * 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).
1994-04-04 17:28:56 +00:00
Ian Lance Taylor
1e147242d7 * 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.
1994-04-04 16:42:16 +00:00
Ken Raeburn
01f8d30971 keep internals stuff 1994-04-01 00:45:04 +00:00
Ken Raeburn
582ffe70b5 Some internals docs. Not enough to be amazingly helpful yet, not really
used for anything, just checkpointing...
1994-04-01 00:43:14 +00:00
Ian Lance Taylor
7ab2e983d6 * config/tc-sparc.c (tc_gen_reloc): Add a gruesome hack to get
cross section PC relative relocs right for COFF and ELF.
1994-03-31 21:54:06 +00:00
Roland Pesch
8d59d6db8d Minor formatting fixes. (TeXs OK now.) 1994-03-29 03:39:46 +00:00
Roland Pesch
87462f1e05 Last-minute updates on Steve's last-minute changes.
TeX formatting remains to be checked.
1994-03-29 03:08:48 +00:00
Ken Raeburn
75d20ac894 * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Always define.
(OBJ_PROCESS_STAB): Don't define.
1994-03-28 19:40:53 +00:00
Ian Lance Taylor
57afabd05a * 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.
1994-03-28 17:43:54 +00:00
Ian Lance Taylor
882bdc6952 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).
1994-03-28 17:38:39 +00:00
Jeff Law
2f7c8700d3 * gas/hppa/reloc/funcrelocbug.s: New test.
* gas/hppa/reloc/reloc.exp: Run it.
1994-03-27 22:06:42 +00:00
Jeff Law
de3ffc7aef * 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.
1994-03-27 22:05:21 +00:00
Roland Pesch
8babef8561 Work around texinfo glitch (@item vs @cindex). 1994-03-26 02:46:02 +00:00
Ian Lance Taylor
645f842c99 * 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.
1994-03-25 22:53:40 +00:00
Ian Lance Taylor
5b63f465fc * 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.
1994-03-25 22:40:44 +00:00
Ken Raeburn
11d7c06453 * 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.
1994-03-25 02:39:19 +00:00
Stan Shebs
4ce336af5a Simplification of GM-specific config bits. 1994-03-23 20:41:47 +00:00
Ian Lance Taylor
7dfa376e9b Handle .gpword and .cpadd only for SVR4_PIC, not != NO_PIC. Still
covered by last ChangeLog entry.
1994-03-23 00:43:48 +00:00
Ian Lance Taylor
d9aba8051e * 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.
1994-03-22 20:27:58 +00:00
Ian Lance Taylor
e1b5066f45 * config/obj-ecoff.h (obj_sec_sym_ok_for_reloc): Define to be 1. 1994-03-22 19:00:08 +00:00
Ken Raeburn
c37f6138d4 * 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, 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).
1994-03-20 21:13:59 +00:00