13702 Commits

Author SHA1 Message Date
62a72a565d * ld-scripts/script.exp: Split script verification into a proc.
Add simple test of MRI script.
	* ld-scripts/scriptm.t: New file.
1995-08-15 21:37:19 +00:00
3a47309642 * ldgram.y (YYDEBUG): If not defined, define as 1.
(CASE, EXTERN, START): New tokens.
	(mri_script_command): Handle CASE, EXTERN, INCLUDE, START.
	(casesymlist): New nonterminal.
	(extern_name_list): New nonterminal.
	* ldlex.l: Accept lower case trailing base specifiers.  Don't
	ignore the first digit when the base is a suffix.  Accept many
	EXPRESSION state tokens in MRI state.  Support MRI continuation
	lines and MRI semicolon comments.  Accept all MRI keywords in
	lower case.  Add CASE, EXTERN, and START MRI keywords.
1995-08-15 21:35:46 +00:00
f5cf5e17bf * gas/mri/for.d, gas/mri/for.s: New test.
* gas/mri/if.d, gas/mri/if.s: New test.
	* gas/mri/repeat.d, gas/mri/repeat.s: New test.
	* gas/mri/while.d, gas/mri/while.s: New test.
	* gas/mri/mri.exp: Run the new tests.
1995-08-15 19:44:20 +00:00
c842dd375d * 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.
1995-08-15 19:42:47 +00:00
ec10503a73 * remote.c (remote_write_bytes): Chop up large transfers. 1995-08-15 14:53:24 +00:00
8513c9536d * 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.
1995-08-15 01:28:59 +00:00
e551745b23 Departure of gcc.patch 1995-08-15 01:10:44 +00:00
dd17dde6de * gcc.patch: Remove, relevant only to long-ago versions of GCC. 1995-08-15 01:07:54 +00:00
ae71adb82b * blokcframe.c (inside_main_func): Add comments. 1995-08-14 22:15:16 +00:00
e15126c456 * gasp.c (do_align, get_any_string): Mark as static.
(do_assigna, do_assignc, new_file): Likewise.
1995-08-14 22:00:21 +00:00
56c423fec5 * blockframe.c (inside_main_func): Fix a typo in previous change. 1995-08-14 21:42:17 +00:00
8e11ad0acd * config/tc-m68k.c (s_reg): Rename local op to rop to avoid
confusion with macro op.
1995-08-14 21:33:29 +00:00
f2cc4ccdc3 * gas/mri/expr.d: Permit leading zeroes, in case we're using a
64-bit BFD.
1995-08-14 20:59:36 +00:00
1deb3d7ac4 * config/sparc/tm-sparclite.h: Define FRAME_CHAIN_VALID_ALTERNATE. 1995-08-14 20:46:59 +00:00
0e2c2c1e3b * config/sparc/tm-sparclite.h: Define FRAME_CHAIN_VALID_ALTERNATE.
* blockframe.c (inside_main_func): If main func addr range not set,
	try to set it now.
1995-08-14 20:45:51 +00:00
b96c75f0b8 * config/tc-hppa.c (md_apply_fix): Don't try to apply BEGIN_BRTAB
or END_BRTAB fixups.
1995-08-14 20:10:21 +00:00
b2e0bd6315 * gasp/mri/*: New tests.
* gasp/gasp.exp: Run them.  Also, clean up the test names used in
	pass and fail.
1995-08-14 20:06:03 +00:00
7f5adcba04 * 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.
1995-08-14 20:03:38 +00:00
9bef2324a2 * config/tc-m68k.c (s_opt): Reset *input_line_pointer even if we
don't do anything with the option.
1995-08-14 19:50:12 +00:00
708fd841b6 * aoutx.h (NAME(aout,machine_type)): Handle a machine of
bfd_mach_sparc or bfd_mach_sparc64.
1995-08-14 16:43:17 +00:00
452a5efbaf * elflink.h (elf_link_add_object_symbols): If a symbol is a weak
definition, add it to the dynamic symbol table if any dynamic
	object mentions it.  If we do add it, make sure we add the
	corresponding real symbol.
	(elf_adjust_dynamic_symbol): Adjust a weak defined symbol which we
	put in the dynamic symbol table, even if no regular object refers
	to it.
	* elf32-i386.c (elf_i386_check_relocs): When creating a shared
	library, don't allocate space for a PC relative reloc against a
	local symbol.
	* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
	* elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Change assertion
	to accept symbol with weakdef set.
	* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
	* elf32-m68k.c (elf_m68k_relocate_section): When creating a shared
	libary, don't copy over a PC relative reloc against a local
	symbol.
	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
PR 7711.
1995-08-14 15:57:17 +00:00
5c800455bf * frags.c (frag_align): Handle absolute_section.
* write.c (record_alignment): Likewise.
1995-08-13 21:19:00 +00:00
2e00287afc fix up aug 8 log entry 1995-08-13 09:37:59 +00:00
e289647bf8 * som.h (R_HPPA_BEGIN_BRTAB): Define.
(R_HPPA_END_BRTAB): Likewise.
	* som.c (som_write_fixups): Handle R_BEGIN_BRTAB and R_END_BRTAB.

More PA optimization infrastructure.
1995-08-13 06:43:23 +00:00
e62fb52590 * gas/sh/basic.exp: Update now that we know the right
bit patters for the new sts instructions.
1995-08-13 06:41:18 +00:00
5ae218df2a * 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.

More infrastructure for PA optimziations.
1995-08-13 06:39:39 +00:00
407f52c1a2 * config/powerpc/xm-aix.h (FIVE_ARG_PTRACE): Define.
* config/rs6000/xm-rs6000.h (FIVE_ARG_PTRACE): Likewise.

So we can build under aix4 with an ansi compiler (should not effect aix3
since aix3 doesn't have a ptrace prototype).
1995-08-13 06:11:38 +00:00
65eaea2742 * configure.in: Recognize aix4 specially as some aspects
of aix4 need different handling than aix3.
        * configure: Updated.
        * config/powerpc/{aix4.mh,aix4.mt,tm-ppc-aix4.h}: New files
        specific to aix4 support on the power pc.
        * config/powerpc/tm-ppc-aix.h (DONT_RELOCATE_SYMFILE_OBJFILE): Do
        not defined.  The aix4 specific target files will do that.
        * config/rs6000/{aix4,mh,aix4,mt,tm-rs6000-aix4.h}: New files
        specific to aix4 support on the rs6000.

        * config/rs6000/tm-rs6000.h (CONVERT_FROM_FUNC_PTR_ADDR): Don't
        do the conversion if the pointer is not a magic aix function
        pointer.
        * rs6000-tdep.c: Include objfiles.h and symtab.h.
        (is_magic_function_pointer): New function.

        * rs6000-tdep.c (skip_prologue): Refine check for frameless
        functions.  Handle b .+4 emitted by aix4 compilers.  Only
        allow one load of a minimal toc pointer.  Handle aix4 compiler's
        code for alloca.

        * rs6000-tdep.c (find_toc_address): Report an error if no toc was
        found rather than possibly core dumping.

        * partial-stab.h: Handle extra field generated by the aix4 compiler
        for enumerations.
        * stabsread.c (read_enum_type): Likewise.
1995-08-12 22:50:04 +00:00
5c6f833bb0 * gdb.base/callfuncs.exp: Add xfails for the powerpc.
* gdb.base/corefile.exp: Likewise.
        * gdb.base/list.exp: Likewise.
        * gdb.base/scope.exp: Likewise.
        * gdb.base/siganls.exp: Likewise.

        * gdb.base/nodebug.exp: Add xfails for the powerpc.  Handle aix4
        compiler output.
        * gdb.base/whatis.exp: Likewise.
1995-08-12 22:11:33 +00:00
07781ac0c3 * rs6000-tdep.c (extract_return_value): Fix returning of values
whose length is less than the register size for big endian targets.
1995-08-12 10:21:12 +00:00
f2d1b56f40 For Sega/Hitachi, when simulator exits, check to see if it was because
of a signal.
1995-08-12 01:03:16 +00:00
3d0f44462f * Makefile.in (TE_OBJS): Add empty definition. 1995-08-12 00:49:19 +00:00
19be7c0800 * 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.
1995-08-11 23:49:17 +00:00
74a86d1f95 * config.guess: Merge with FSF:
Wed Jun 28 17:57:27 1995  David Edelsohn  <edelsohn@mhpcc.edu>
	* config.guess (AIX4): More robust release numbering discovery.

	Thu Jun 22 19:01:24 1995  Kenneth Stailey  (kstailey@eagle.dol-esa.gov)
	* config.guess (i386-sequent-ptx): Properly get version number.

	Thu Jun 22 18:36:42 1995  Uwe Seimet  (seimet@iris1.chemie.uni-kl.de)
	* config.guess (mips:*:4*:UMIPS): New case.
1995-08-11 22:40:18 +00:00
06e9cb9271 * nm.c (main): Ignore -e.
PR 6758.
1995-08-11 22:29:41 +00:00
f21c9aecae * symtab.c (list_symbols): if break command set breakpoint on matched
symbol.
1995-08-11 20:15:21 +00:00
e334d7ea9d * gdb.disasm/sh3.exp (all_fp_misc_tests): No longer expect a
failure (opcode table has been fixed to match reality).
1995-08-11 19:39:26 +00:00
c7d7eed0a8 Allow large addends for BFD_RELOC_{LO16,HI16,HI16_S} relocs. 1995-08-11 17:36:54 +00:00
06c87bef35 * gdb.base/a1-selftest.exp: Change "i*86-*-sysv4" xfail for
"backtrace through signal handler" to "i*86-*-sysv4*".
	* gdb.base/signals.exp: Add xfail for "'next' behaved as
	continue" case.  Add "known SVR4 bug" to fail message.
	Add "i*86-*-bsdi2.0" xfail for "handle all print".
	Add "i*86-*-bsdi2.0" xfail for "backtrace in signals_tests_1".
	* gdb.base/ptype.exp: Add "i*86-*-sysv4*" xfail for
	"whatis unnamed typedef'd enum..." and "ptype t_char_array".
	* gdb.base/langs.exp: Add "i*86-*-sysv4*" xfail for
	"up to foo in langs.exp", "show language at foo in
	langs.exp", "up to cppsub_ in langs.exp", "show
	language at cppsub_ in langs.exp", "up to fsub in
	langs.exp", and "show language at fsub in langs.exp".
	* gdb.base/corefile.exp: Add "i*86-*-sysv4*" to xfail for
	"bactrace in corefile.exp".
	* gdb.base/callfuncs.exp: Change xfail to "i*86-*-*" for
	"call inferior function with struct - returns float" and
	"call inferior function with struct - returns double".
1995-08-11 16:42:45 +00:00
eae45ea981 * defs.h (strchr, strrchr, strstr, strtok, strerror): Enclose in
#ifndefs to protect against previous definitions as macros.
	* HOW_TO_RELEASE:  Continue updating...
1995-08-11 16:39:14 +00:00
12a065ee7e * read.c (s_mri_sect) [BFD_ASSEMBLER]: Fix typos in choosing and setting
section flags.
1995-08-11 01:11:30 +00:00
9bae56c52d put version number into doc from makefile 1995-08-10 21:42:57 +00:00
79e15b8a98 * doc/as.texinfo: Add documentation for MRI compatibility mode.
* doc/as.1: Likewise.
1995-08-10 21:18:21 +00:00
5357b554ba * coffgrok.c (do_type): Handle array dimensions the same way gdb
does.
1995-08-10 20:12:11 +00:00
baaffcefe2 * coffswap.h (coff_swap_aux_in): Swap the array dimensions
whenever x_fcnary is not being used for something else, rather
	than only for an array.
	(coff_swap_aux_out): Likewise.
PR 7373.
1995-08-10 19:58:56 +00:00
336435bc4d * 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.
1995-08-10 16:43:00 +00:00
e14994d980 * 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.
1995-08-10 16:19:34 +00:00
bd59fa7505 * gas/mri/char.d: Fix for little endian machines.
* gas/mri/float.d: Likewise.
1995-08-10 04:47:20 +00:00
a920b69312 * 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.
1995-08-10 04:44:59 +00:00
6700d36e84 * 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.
1995-08-09 23:22:13 +00:00