Ian Lance Taylor [Wed, 21 Jul 1993 00:41:42 +0000 (00:41 +0000)]
* Extensive changes to permit symbols to contain any expression
type and to delay the computation of the expression until the
value is actually needed. This permits setting symbols to values
calculated based on object code size. Expressions were changed to
no longer be in a section, to stop the overloading of segment and
expression type that previously occurred.
* as.c (big_section, pass1_section, diff_section, absent_section):
Removed.
(expr_section): Added (used for dummy symbols which hold
intermediate expression values).
(perform_an_assembly_pass): Create expr_section, do not create the
sections now removed.
* as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and
SEG_DIFFERENCE. Added SEG_EXPR.
(SEG_NORMAL): Corresponding changes.
* subsegs.c (seg_name, subsegs_begin): Changed accordingly.
* write.c (write_object_file): Ditto.
* config/obj-aout.c (seg_N_TYPE): Ditto.
* config/obj-bout.c (seg_N_TYPE): Ditto.
* config/obj-coff.c (seg_N_TYPE): Ditto.
* config/obj-coffbfd.c (seg_N_TYPE): Ditto.
* config/obj-vms.c (seg_N_TYPE): Ditto.
Fred Fish [Tue, 20 Jul 1993 22:07:39 +0000 (22:07 +0000)]
* libnlm.h (nlm_obj_tdata): Rename hidden struct members to avoid
apparent Sun C preprocessor recursion. Fix access macros.
* nlmcode.h: Remove spurious '&' before several array references.
Jim Kingdon [Tue, 20 Jul 1993 21:15:45 +0000 (21:15 +0000)]
* symtab.c (find_line_symtab): New function, to deal with multiple
symtabs with the same name.
(find_line_pc{,_range}): Use it.
(find_pc_symtab): Add comment about overlapping symtabs.
Jim Kingdon [Tue, 20 Jul 1993 01:15:20 +0000 (01:15 +0000)]
* gdb.t17/interrupt.exp: Before sending ^C, give the inferior time
to get back into the read system call.
Accept leading newline in case where we woke it up.
Jim Kingdon [Mon, 19 Jul 1993 23:31:09 +0000 (23:31 +0000)]
* printcmd.c, config/pa/xm-pa.h, config/alpha/xm-alpha.h: Make it so
arg_bytes field of makeva_list is always aligned.
* config/pa/xm-pa.h: Make arglist_address a char *.
Jim Kingdon [Mon, 19 Jul 1993 23:20:55 +0000 (23:20 +0000)]
* printcmd.c, config/pa/xm-pa.h, config/alpha/xm-alpha.h: Make it so
arg_bytes field of makeva_list is always aligned.
* config/pa/xm-pa.h: Make arglist_address a char *.
Ken Raeburn [Mon, 19 Jul 1993 20:05:16 +0000 (20:05 +0000)]
(write_relocs): New function, split off from write_contents. Use memset
instead of bzero.
(write_object_file): Apply write_relocs to each section before applying
write_contents.
Ken Raeburn [Mon, 19 Jul 1993 19:49:34 +0000 (19:49 +0000)]
(obj_elf_previous): New function.
(previous_section, previous_subsection): New vars.
(obj_elf_section): Save current place in case DWARF code wants us
to pop back to it. Handle unquoted section name as well as quoted
section name. Don't crash on invalid strings.
(obj_pseudo_table): Handle new pseudos "previous", "2byte", and "4byte".
Ian Lance Taylor [Mon, 19 Jul 1993 19:13:30 +0000 (19:13 +0000)]
* config/tc-m68k.c (m68k_ip_op): Don't decrement strend when
calculating opP->isiz; this permits the expression size to be
determined as well, later on.
Ken Raeburn [Mon, 19 Jul 1993 19:12:59 +0000 (19:12 +0000)]
* elf.c, elfcode.h, libelf.h: Serious reorganization.
Deleted `thunk' structure, merged into tdata, duplicate data eliminated.
Rearranged functions, grouping by function.
Broke up many functions in elfcode.h, re-ordered many parts of file writing
to handle unpredictable state of section relocation table as provided by
various applications.
Still needs cleanup: Merge functions back together, split out data structure
with only data that is used only when writing out object file.
* elf.c (bfd_elf_generic_reloc): New function, taken from coff-mips.c.
* elf32-sparc.c (elf_sparc_howto_table): Use it, to work around
bfd_perform_relocation lossage.
Jim Kingdon [Mon, 19 Jul 1993 17:36:18 +0000 (17:36 +0000)]
* hppa-tdep.c (pc_in_linker_stub): New function.
(find_proc_framesize): Return 0 for linker stubs.
(rp_saved): Tell the caller where rp is saved.
(frame_chain_valid): Return 1 for linker stubs.
(frame_saved_pc): Use return value from rp_saved.
Peter Schauer [Mon, 19 Jul 1993 06:41:16 +0000 (06:41 +0000)]
Make breakpoint_re_set_one work with overloaded member functions,
`b 123' and `b foo' if foo is a static function.
* symtab.c (decode_line_1, decode_line_2): New argument `canonical'
to return canonical line specs if requested by the caller.
* breakpoint.c, source.c, symtab.c, symtab.h: Change prototypes and
callers accordingly.
* symtab.c (build_canonical_line_spec): New helper function which
constructs the canonical line spec.
* breakpoint.c (break_command_1): Use canonical line spec instead
of command string as addr_string if necessary.
* source.c (line_info): Fix storage leak.
Jim Kingdon [Mon, 19 Jul 1993 05:09:06 +0000 (05:09 +0000)]
* infptrace.c: Split out define of PT_KILL; Sequent defines PT_KILL
but not the others.
* symm-tdep.c: Remove exec_file_command.
[_SEQUENT_] (ptx_coff_regno_to_gdb, register_addr): New functions.
A few miscellaneous cleanups.
* symm-nat.c: Renamed from symm-xdep.c.
* All symmetry dependent files: Many changes.
Jim Kingdon [Mon, 19 Jul 1993 05:00:13 +0000 (05:00 +0000)]
* infptrace.c: Split out define of PT_KILL; Sequent defines PT_KILL
but not the others.
* symm-tdep.c: Remove exec_file_command.
[_SEQUENT_] (ptx_coff_regno_to_gdb, register_addr): New functions.
A few miscellaneous cleanups.
* symm-nat.c: Renamed from symm-xdep.c.
* All symmetry dependent files: Many changes.
Jim Kingdon [Mon, 19 Jul 1993 04:55:21 +0000 (04:55 +0000)]
* coffcode.h: Recognize I386PTXMAGIC.
* aoutf1.h, libaout.h: Add M_386_DYNIX.
* trad-core.c (TRAD_CORE_USER_OFFSET, TRAD_CORE_STACK_FILEPOS):
New macros; use it if defined.
* config/symmetry.mh, hosts/symmetry.h: New files.
Jim Kingdon [Mon, 19 Jul 1993 02:28:21 +0000 (02:28 +0000)]
* mips-tdep.c (mips_skip_prologue): New argument lenient.
Use read_memory_nobpt.
(is_delayed, mips_in_lenient_prologue): New functions.
(init_extra_frame_info): If in the prologue, don't use saved registers.
* config/mips/tm-mips.h: Declare mips_skip_prologue.
Peter Schauer [Sun, 18 Jul 1993 15:47:51 +0000 (15:47 +0000)]
* gdb.stabs/{ecoff.mt,wierd-ecoff.S,wierd-ecoff.sed}: New files
to make the stabs test work on ecoff systems using gcc and -with-stabs.
* gdb.stabs/{Makefile.in,configure.in,aout.mt,xcoff.mt}: Modify to
enable ecoff configuration.
Roland Pesch [Sat, 17 Jul 1993 01:57:50 +0000 (01:57 +0000)]
Introduce MOD2 switch to segregate material on Modula-2; eventually
each supported language should be controlled by a separate switch, and CONLY
should be retired.
Ian Lance Taylor [Fri, 16 Jul 1993 21:15:40 +0000 (21:15 +0000)]
* ldgram.y (OPTION_Lfile): New token.
(command_line_option): Accept OPTION_L NAME (whitespace after -L).
* ldlex.l (<COMMAND>): Accept -L without FILENAME.
Ian Lance Taylor [Fri, 16 Jul 1993 16:26:41 +0000 (16:26 +0000)]
* config/tc-hppa.h (tc_frob_label): Define.
* config/tc-mips.c: Many changes to support simple assembler
optimization.
(insn_label, prev_insn, prev_prev_insn, dummy_opcode,
prev_insn_valid, prev_insn_frag, prev_insn_where,
prev_insn_fixp, prev_insn_is_delay_slot): New static
variables.
(insn_uses_reg, mips_no_prev_insn, mips_emit_delays,
mips_align, s_stringer, s_mips_space): New static functions.
(mips_define_label): New global function.
(md_pseudo_table): For "ascii", "asciz", "asciiz", call
s_stringer. Changed argument to float_cons from 0 or 1 to 'f'
or 'd'. For "space" call s_mips_space.
(md_begin): Call mips_no_prev_insn.
(append_insn): Only insert necessary NOP instructions.
(macro): Call mips_emit_delays before setting mips_noreorder.
Increment and decrement mips_noreorder rather than using
save_reorder_condition. Don't bother to use noreorder in
M_L_DOB and M_L_DAB, since append_insn will not insert a NOP.
(md_atof): Handle floating point numbers correctly for both
big and little endian targets.
(s_align, s_cons): Call mips_align rather than frag_align.
(s_change_seg, s_cons): Call mips_emit_delays.
(s_float_cons): Let float_cons do the work.
(s_mipsset): Call mips_emit_delays when setting noreorder.
* config/tc-mips.h (tc_frob_label): Define to be
mips_define_label.
Ian Lance Taylor [Fri, 16 Jul 1993 15:58:08 +0000 (15:58 +0000)]
* config/obj-ecoff.c (ecoff_build_symbols, ecoff_build_procs,
ecoff_frob_files): Consistently use S_GET_VALUE rather than
bfd_asymbol_value. Warn if taking difference of symbols in
different segments.