* ldlang.h (enum section_type): Define.
(lang_output_section_statement_type): Remove loadable field. Add
sectype field.
(lang_enter_output_section_statement): Change flags parameter in
prototype to sectype.
* ldgram.y (typebits): Remove.
(sectype): New static variable.
(opt_at): Use sectype rather than typebits.
(type): Set sectype rather than typebits.
(atype): Likewise.
* ldlex.l: Recognize DSECT, COPY, INFO, and OVERLAY in
EXPRESSION mode.
* ldlang.c (lang_output_section_statement_lookup): Set sectype
field rather than loadable field.
(wild_doit): Check sectype rather than loadable.
(lang_record_phdrs): Likewise.
(lang_enter_output_section_statement): Rename flags parameter to
sectype. Set sectype field rather than loadable field. Set flags
field based on sectype.
Ian Lance Taylor [Mon, 24 Jun 1996 20:49:28 +0000 (20:49 +0000)]
* objdump.c (endian): New static variable.
(usage): Mention -EB/-EL/--endian.
(long_options): Add "endian".
(disassemble_data): If endianness was specified, replace
abfd->xvec with a copy of itself with the given endianness.
(main): Handle -EB/-EL/--endian.
* binutils.texi, objdump.1: Mention -EB/-EL/--endian.
Geoffrey Noer [Mon, 24 Jun 1996 06:05:21 +0000 (06:05 +0000)]
Enable dosrel for special dos installation (appending of .exe to
installed binaries, etc...) for cygwin32-hosted toolchains. New
config/mh-cygwin32 which enables this.
Removed diff from list of things not buildable via Canadian Cross
* configure.in: Add alpha-*-linuxecoff* target. Use elf for
alpha-*-linux* target. Force bfd_gas for alpha-*. Require
opcodes library for alpha.
* configure: Rebuild with autoconf 2.10.
* config/tc-alpha.c: Substantial rewrite to add ELF support and
use new opcode table.
* config/tc-alpha.h (md_undefined_symbol): Don't define.
(LOCAL_LABEL): Define differently if OBJ_ELF.
(FAKE_LABEL_NAME): Define if OBJ_ELF.
* config/alpha-opcode.h: Remove.
* config/obj-elf.h: If TC_ALPHA, define ECOFF_DEBUGGING.
* Makefile.in (TARG_CPU_DEP_alpha): Depend upon
include/opcode/alpha.h rather than config/alpha-opcode.h.
* alpha-opc.c: New file.
* alpha-opc.h: Remove.
* alpha-dis.c: Complete rewrite to use new opcode table.
* configure.in: For bfd_alpha_arch, use alpha-opc.o.
* configure: Rebuild with autoconf 2.10.
* Makefile.in (ALL_MACHINES): Add alpha-opc.o.
(alpha-dis.o): Depend upon $(INCDIR)/opcode/alpha.h, not
alpha-opc.h.
(alpha-opc.o): New target.
* configure.tgt (alpha-*-linuxecoff*): New target.
(alpha-*-linux*): Use elf64alpha.
* emulparams/elf64alpha.sh: New file.
* emultempl/elf32.em: If ELFSIZE is not set, set it to 32. Use
${ELFSIZE} rather than 32 when calling BFD routines.
(hold_rodata): New static variable.
(gld${EMULATION_NAME}_place_orphan): Use hold_rodata for a
readonly section that is not code.
(gld${EMULATION_NAME}_place_section): Set hold_rodata. Don't use
a .rel section unless its bfd_section field is not NULL.
* Makefile.in (ALL_EMULATIONS): Add eelf64alpha.o.
(eelf64alpha.c): New target.
Fred Fish [Fri, 21 Jun 1996 17:03:22 +0000 (17:03 +0000)]
* gdbtk.c (get_register): Support for printing raw formats.
* gdbtk.tcl: Add hint for using debug_interface.
(center_window, add_breakpoint_frame, delete_breakpoint_frame):
Enclose arg in braces for consistency.
(create_registers_window, populate_reg_window, update_registers):
Major rewrite to support displaying multiple formats in the register window.
(init_reg_info): New function.
(recompute_reg_display_list): Reset reg_display_list, start
register display lines at line 2.
PR 9457
Ian Lance Taylor [Thu, 20 Jun 1996 23:14:13 +0000 (23:14 +0000)]
* expr.c (struct expr_symbol_line): Define.
(expr_symbol_lines): New static variable.
(make_expr_symbol): Add entry to expr_symbol_lines.
(expr_symbol_where): New function.
* expr.h: Use extern on function declarations.
(expr_symbol_where): Declare.
* symbols.c (resolve_symbol_value): Try to use expr_symbol_where
rather than printing the meaningless name of an expression
symbol.
Ken Raeburn [Thu, 20 Jun 1996 20:06:44 +0000 (20:06 +0000)]
* config/tc-i386.c (md_number_to_chars): Deleted.
* config/tc-i386.h (md_number_to_chars): New macro.
* config/tc-alpha.c (build_operate_n, build_mem): Moved earlier in the file.
(load_symbol_address, load_expression): Use build_mem.
(build_operate): New function.
(emit_addq_r): Use it.
Ian Lance Taylor [Thu, 20 Jun 1996 18:23:24 +0000 (18:23 +0000)]
Add enough support to understand the gcc svr3.ifile script:
* ldlex.l: Recognize BLOCK and GROUP in EXPRESSION context. Add
BIND keyword.
* ldgram.y: Add BIND token.
(section): Recognize GROUP.
(opt_ext_with_type): Recognize a couple of cases of BIND.
* ldlang.c (init_os): Don't do anything if section is already
initialized. Call exp_init_os on addr_tree field.
(exp_init_os): New static function.
(map_input_to_output_sections): Call exp_init_os on assignment
expression.
(lang_place_orphans): Check for common sections by name COMMON
rather than by common_section field. Don't warn about absence of
[COMMON] command.
Fred Fish [Thu, 20 Jun 1996 15:50:37 +0000 (15:50 +0000)]
* gdbtk.tcl (gdbtk_tcl_readline_begin): Handle backspace to
avoid backing up over prompt. At every input, make sure insert
point is at least after command start, handle control-u to delete
current input line.
(tclsh): Handle backspace to avoid backing up over prompt. Handle
control-u to delete current input line.
Ian Lance Taylor [Thu, 20 Jun 1996 01:00:26 +0000 (01:00 +0000)]
* objdump.c (stabs): Change from struct internal_nlist * to
bfd_byte *.
(print_section_stabs): Fetch stabs information directly, rather
than assuming that struct internal_nlist is the right size.
Ian Lance Taylor [Wed, 19 Jun 1996 21:08:03 +0000 (21:08 +0000)]
* as.c (struct defsym_list): Define.
(defsyms): New static variable.
(parse_args): Just put --defsym arguments on defsyms list, rather
than defining them.
(main): Define defsyms after output file is created.
Jeff Law [Tue, 18 Jun 1996 22:55:30 +0000 (22:55 +0000)]
* scripttempl/h8300s.sc: New file for H8/S.
* emulpararms/h8300s.sh: New file for H8/S.
* Makefile.in (ALL_EMULATIONS): Add H8/S.
(e_h8300s.c): Add dependencies.
* configure.tgt: Add H8/S to targ_extra_emuls.
H8/S linker stuff. Sanitized until status of this code is known.
Ian Lance Taylor [Tue, 18 Jun 1996 21:15:35 +0000 (21:15 +0000)]
* config/tc-i386.c (md_assemble): When checking the size of a
register to set the size of an instruction, do a bitwise and with
Reg8 and Reg16 rather than requiring the type to be exactly Reg8
or Reg16.
Jeff Law [Tue, 18 Jun 1996 20:28:20 +0000 (20:28 +0000)]
* config/tc-h8300.c (parse_reg): Tweak error messages.
(build_bytes): Likewise.
(skip_colonthing): Handle :32 suffix.
(get_specific): Promote L_24 to L_32 if it makes a match.
Don't always promote L_8 to L_16.
(do_a_fix_imm): Clean up L_32 and L_24 handling.
H8/S related stuff that doesn't need to be sanitized.
start-sanitize-h8s
* config/tc-h8300.c (Smode): New variable.
(h8300hmode): Turn off Hmode.
(h8300smode): New function. Turn on Smode and Hmode.
(md_pseudo_table): New ".h8300s" pseudo-op.
(parse_reg): Handle "exr" register.
(get_operand): Handle bizarre syntax for "stm.l" and "ldm.l".
Handle "mach" and "machl" operands for ldmac.
(get_specific): Handle "stm.l" and "ldm.l".
(build_bytes): Handle "stm.l" and "ldm.l"; handle MACREG operands.
* config/tc-h8300.h (COFF_MAGIC): Handle H8/S magic number.
(Smode): Declare.
end-sanitize-h8s
Sanitized H8/S stuff until we know its status.
Jeff Law [Tue, 18 Jun 1996 19:50:54 +0000 (19:50 +0000)]
* gas/h8300/cbranchh.s: Switch into h8300h mode.
* gas/h8300/h8300.exp (H8/300H misc tests): Fix test names.
Just something I noticed.
* gas/h8300/{addsubs.s,bitops1s.s,bitops2s.s}: New tests for the
H8/S.
* gas/h8300/{bitops3.s,bitops4.s,cbranchs.s,logicals.s}: Likewise.
* gas/h8300/{branchess.s,compares.s,macs.s,decimals.s}: Likewise.
* gas/h8300/{incdecs.s,divmuls.s,miscs.s,multiples.s}: Likewise.
* gas/h8300/{movbs.s,movws.s,movls.s,pushpops.s}: Likewise.
* gas/h8300/{rotshifts.s,extends.s}: Likewise.
* gas/h8300/h8300.exp: Run them.
Sanitized away until status is clarified.
Fred Fish [Mon, 17 Jun 1996 22:37:34 +0000 (22:37 +0000)]
* Makefile.in (DVIPS): New define, set to dvips.
(dvi): Add stabs.dvi.
(ps): New target.
(all-doc): Depend on info, dvi, and ps targets.
(STAGESTUFF): Add *.ps and *.dvi files.
(clean-info, clean-dvi): Remove.
(mostlyclean): Does not depend upon clean-info or clean-dvi,
rules completely rewritten.
(maintainer-clean): Remove clean-info and clean-dvi
dependencies and put their actions in the rules.
(gdb.ps): New target
(gdb.dvi, gdbgui.dvi, gdbint.dvi, stabs.dvi): Remove
intermediate TeX files, whether they have 2 or 3 character
extensions.
(gdbint.ps): Add target and rules.
(gdb-internals): Delete unused target.
(Makefile): Depends upon config.status also.
Jeff Law [Mon, 17 Jun 1996 18:31:51 +0000 (18:31 +0000)]
* config/tc-hppa.c (md_pseudo_table): Add ".begin_try" and ".end_try"
pseudo ops.
(tc_gen_reloc, SOM version): Handle R_BEGIN_TRY and R_END_TRY.
(md_apply_fix): Likewise.
(pa_try): New function.
(hppa_force_relocation): Force relocs for BEGIN_TRY and END_TRY.
More PA exception handling crud.