Jeff Law [Wed, 9 Aug 1995 18:53:41 +0000 (18:53 +0000)]
* configure.in (powerpc-*-aix*): Recognize as a new gdb host
and target.
(powerpc-*-eabi*): Don't set configdirs.
(powerpcle-*-eabi*0: Likewise.
* configure: Updated.
* rs6000-nat.c (vmap_ldinfo): Don't relocate data addresses
for the main objfile if DONT_RELOCATE_SYMFILE_OBJFILE is
defined.
* config/powerpc/{aix.mh,aix.mh}: Host and target makefile fragments
for powerpc running aix4.
* config/powerpc/{nm-aix.h, tm-ppc-aix.h, xm-aix.h}: Native, target
and host include files for powerpc running aix4.
* 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@.
* cofflink.c (_bfd_coff_generic_relocate_section): Remove most
of special case stuff for PE. Now handled by relocs.
* coff-i386.c (coff_i386_reloc): Special case of PE type 7s.
(howto_table): Type 7 is dir32-rva.
* 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.
Jeff Law [Tue, 8 Aug 1995 17:31:52 +0000 (17:31 +0000)]
* configure.host: Recognize aix4 explicitly.
* rs6000-core.c (CORE_DATA_SIZE_FIELD): New macro to get a the size
of a core dump's data section. Provide alternate definition for aix4.
(SAVE_FIELD): Similarly for save state field (register info).
(STACK_END_ADDR): Provide definition suitable for aix4.
* config/{aix4.mh,aix4.mt}: New configuration files.
* hosts/aix4.h: Likewise.
Ken Raeburn [Tue, 8 Aug 1995 06:54:30 +0000 (06:54 +0000)]
* 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.
* gas/m68k/operands.s, gas/m68k/operands.d: New test.
* gas/m68k/op68000.d: New test.
* gas/m68k/cas.s, gas/m68k/cas.d: New test.
* gas/m68k/bitfield.s, gas/m68k/bitfield.d: New test.
* gas/m68k/schwab.d: Run objdump with -j .text. Adjust for
changes to disassembler.
* gas/m68k/all.exp: Run new tests. Run schwab test for
m68k-*-coff*.
* 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.
* m68k-dis.c: (fpcr_names): Add % before all register names.
(reg_names): Likewise.
(print_insn_arg): Don't explicitly print % before register names.
Add % before register names in static array names. In case 'r',
print data registers as `@(Dn)', not `Dn@'. When printing a
memory address, don't print @# before it.
(print_indexed): Change base_disp and outer_disp from int to
bfd_vma. Print using MIT syntax, not mutant invalid Motorola
syntax. Sign extend 8 byte displacement correctly.
(print_base): Print using MIT syntax. Print zpc when appropriate.
Change parameter disp from int to bfd_vma.
Jeff Law [Mon, 7 Aug 1995 08:48:22 +0000 (08:48 +0000)]
* gdb.disasm/sh3.s: Source for sh3 disassembler tests.
* gdb.disasm/sh3.exp: Run the sh3 disassembler tests.
* gdb.disasm/configure.in (sh-*-*): Use sh3.mt makefile fragment.
* gdb.disasm/sh3.mt: Makefile fragment for sh3 ests.
Jeff Law [Mon, 7 Aug 1995 08:39:42 +0000 (08:39 +0000)]
* sh-dis.c (print_insn_shx): Handle new operand types F_REG_N,
F_REG_M, FPSCR_M, FPSCR_N, FPUL_M and FPUL_N.
* sh-opc.h (sh_arg_type): Add new operand types.
(sh_table): Add new opcodes from SH3E Floating Point ISA.
Fred Fish [Mon, 7 Aug 1995 07:20:02 +0000 (07:20 +0000)]
* gdb.base/corefile.exp: Change xfail for backtrace in
corefile.exp from linuxaout to all linux.
* gdb.base/sigall.exp (test_one_sig): Specifically deal with
cases where we miss the breakpoint at the signal handler
for some reason. Setup xfail for linuxoldld/linuxaout and
getting SIGIO. Setup xfail for linuxoldld/linuxaout for
hitting SIGURG breakpoint.
* gdb.base/signals.exp: Setup xfail for "next" acting like
continue to add linuxoldld. Setup xfail for all linux for
"next to handler in signals_tests_1", "backtrace in
signals_tests_1", "continue to func1", "pass SIGUSR1",
and continue to handler".
Fred Fish [Sat, 5 Aug 1995 01:13:26 +0000 (01:13 +0000)]
* ch-exp.y (write_lower_upper_value): Add prototype so bison
generated parser will insert prototype before first func usage.
Bison and byacc order the output sections differently. Also
make function static.
Fred Fish [Thu, 3 Aug 1995 16:56:36 +0000 (16:56 +0000)]
Remove keep-chill stuff from .Sanitize and add gdb.chill to things to
keep. Remove sanitize references in ChangeLog. Remove start/end
sanitize-chill lines in Makefile.in.
Fred Fish [Thu, 3 Aug 1995 16:48:48 +0000 (16:48 +0000)]
Add configure to r16_files and arc_files in .Sanitize
Remove references to .Sanitize in ChangeLogs, start updating
always sanitized away file HOW_TO_RELEASE.
Fred Fish [Thu, 3 Aug 1995 16:44:20 +0000 (16:44 +0000)]
Remove tcl and tk from static list of things to keep. They are dynamically
added to either the keep or loose list depending upon the presence of the
-lose-gdbtk option.
Peter Schauer [Thu, 3 Aug 1995 09:17:51 +0000 (09:17 +0000)]
* config/alpha/tm-alpha.h (EXTRA_FRAME_INFO): Add pc_reg field.
(SKIP_TRAMPOLINE_CODE): Define.
* alpha-tdep.c (alpha_frame_saved_pc): Use pc_reg field from
frame to find the saved pc register.
(alpha_saved_pc_after_call): Skip over shared library trampoline
before trying to find the saved pc register.
(find_proc_desc): Copy PROC_PC_REG from found proc_desc
to heuristic proc_desc.
(init_extra_frame_info): Initialize pc_reg field in frame.
* 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.
* m68k-opc.c: New file, holding tables from include/opcode/m68k.h.
Clean up tables.
* m68k-dis.c: Remove BREAK_UP_BIG_DECL stuff.
(opcode): Remove.
(print_insn_m68k): Change d to be const. Use m68k_numopcodes
rather than numopcodes. Use m68k_opcodes rather than removed
opcode function. Don't check F_ALIAS.
(print_insn_arg): Change first parameter to be const char *.
* Makefile.in (ALL_MACHINES): Add m68k-opc.o.
(m68k-opc.o): New target.
* configure.in: Build m68k-opc.o for bfd_m68k_arch.
* configure: Rebuild.
* m68k.h: Move tables into opcodes/m68k-opc.c, leaving just the
declarations. Remove F_ALIAS and flag field of struct
m68k_opcode. Change arch field of struct m68k_opcode to unsigned
int. Make name and args fields of struct m68k_opcode const.
David Edelsohn [Wed, 2 Aug 1995 16:06:17 +0000 (16:06 +0000)]
* sparc-dis.c (HASH_SIZE, HASH_INSN): Define.
(opcode_bits, opcode_hash_table, sparc64_p): New variables.
(opcodes_initialized): Renamed from opcodes_sorted.
(build_hash_table): New function.
(is_delayed_branch): Use hash table.
(print_insn): Renamed from print_insn_sparc, made static.
Build and use hash table.
(print_insn_sparc, print_insn_sparc64): New functions.
(compare_opcodes): If !sparc64, move sparc64 opcodes to end,
and vice-versa if sparc64.
* sparc-opc.c (all non-v9 insns): Use flag F_NOTV9 instead of F_ALIAS.
Kung Hsu [Tue, 1 Aug 1995 23:09:20 +0000 (23:09 +0000)]
* xcoffread.c (process_linenos): The value in include file symbol
should point to line number table. Currently this value is not
set correctly by AIX ld. A fix to get around this bug.
* 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.
Peter Schauer [Tue, 1 Aug 1995 09:20:05 +0000 (09:20 +0000)]
* mips-tdep.c (mips_extract_return_value): Fix returning of
values whose length is less than the register size for big endian
targets.
* alpha-tdep.c (alpha_extract_return_value,
alpha_store_return_value): Use alpha_convert_register_to_*
to handle functions returning "float" correctly.
Ian Lance Taylor [Mon, 31 Jul 1995 17:24:17 +0000 (17:24 +0000)]
* strings.c (print_strings): For compatibility with existing
strings programs, print strings which are not terminated with a
null byte or a newline.
* binutils.texi, strings.1: Update documentation accordingly.