Ian Lance Taylor [Thu, 14 Oct 1993 16:04:35 +0000 (16:04 +0000)]
* coffcode.h (styp_to_sec_flags): Don't set SEC_DEBUGGING until it
is made to work.
(coff_compute_section_file_positions): Remove check for
USE_DISCARDED_SECTIONS_COUNT.
* coff-i386.c: Don't define USE_DISCARDED_SECTIONS_COUNT. Basing
it on host defines is wrong.
* config/tc-i386.c: (md_begin): Do not zero static arrays. Don't
call strchr for each character to see if it is a special char,
instead add a second loop over special_chars. Set alignment
of text, data and bss sections to 4.
(pi, te, pt, pe, ps): Add declarations so that DEBUG386 can be
used again.
(reloc): Don't return 8 and 16 bit non-PC relative relocations on
ELF, since the ELF object format does not have these type of
relocations. Change the abort into as as_bad and return
BFD_RELOC_NONE to silence compiler warnings.
(md_assemble): Keep track of the instruction size. Allow white
space between the $ and the constant for compatibility with older
gases and other assemblers.
(i386_operand): Skip spaces between $ and expression.
(tc_gen_reloc): Don't allow anything but 32 bit relocations on
ELF. Convert abort into an as_bad and assert into as_fatal.
Ian Lance Taylor [Thu, 14 Oct 1993 05:13:43 +0000 (05:13 +0000)]
* ecoff.c (ecoff_bfd_seclet_link): Don't link a .reginfo section.
(ecoff_write_object_contents): Don't require the .reginfo section
to be a particular size.
Ken Raeburn [Wed, 13 Oct 1993 20:54:03 +0000 (20:54 +0000)]
* config/obj-coffbfd.c (fixup_segment) [DIFF_EXPR_OK]: If
sub_symbolP is in the current segment, convert to a PC-relative
fixup and discard the symbol.
(Copied from write.c.)
Ian Lance Taylor [Wed, 13 Oct 1993 20:04:30 +0000 (20:04 +0000)]
* ldmain.c (enter_global_ref): Just ignore any weak symbol for
which we already have a definition, rather than checking in
several different places whether the symbol is weak.
Jim Kingdon [Wed, 13 Oct 1993 18:17:49 +0000 (18:17 +0000)]
* printcmd.c (printf_command): Instead of using makeva* and
calling vprintf, just make the appropriate calls to printf.
* printcmd.c, config/pa/xm-pa.h, config/mips/xm-makeva.h,
config/alpha/xm-alpha.h, config/m88k/xm-m88k.h: Remove all
traces of makeva*. My apologies to everyone (including me!)
who spent so much time getting it to work on various machines,
but look at the bright side, at least you won't have to do it
again in the future.
* printcmd.c (printf_command): Make a cleanup for val_args (fixes
a memory leak).
Jim Kingdon [Tue, 12 Oct 1993 23:55:13 +0000 (23:55 +0000)]
* stabsread.c (read_type): Treat a negative type number at the start
of a type as a type reference, not as a definition of a type with
"50=" omitted. This makes things work on the RS/6000 again (the
14 Sep 1993 change broke it).
Ian Lance Taylor [Tue, 12 Oct 1993 21:46:52 +0000 (21:46 +0000)]
* configure.in (mips-*-elf*): New target; use mipsb-elf32.
* scripttempl/elf.sc: Only use OTHER_READONLY_SECTIONS and
OTHER_READWRITE_SECTIONS if relocating. Shell variables are not
expanded within them.
* config/mipsb-elf32.mt: New file.
* emulparams/elf32mipb.sh: New file.
* Makefile.in (em_elf32mipb.c): New target.
Ian Lance Taylor [Tue, 12 Oct 1993 21:31:29 +0000 (21:31 +0000)]
* config/tc-mips.c: If OBJ_ELF, include elf/mips.h.
(mips_regmask_frag): New static variable, if OBJ_ELF.
(md_begin): If OBJ_ELF, create .reginfo section and set
mips_regmask_frag to a frag.
(mips_elf_final_processing): New function, if OBJ_ELF. Set
mips_regmask_frag to register mask information.
* config/tc-mips.h (elf_tc_final_processing): New macro, defined
if OBJ_ELF.
Ian Lance Taylor [Tue, 12 Oct 1993 21:16:14 +0000 (21:16 +0000)]
* elf32-mips.c: Extensive additions to do relocations and to
handle MIPS specific sections.
* libelf.h (elf_backend_data): Pass fourth argument to
elf_backend_section_from_bfd_section to permit it to control the
section index to use.
(elf_obj_tdata): Add gp and gp_size fields.
(elf_gp, elf_gp_size): New accessor macros.
* elfcode.h: Removed a number of unused local variables.
(elf_fake_sections): Clear section header before calling
elf_backend_fake_sections, not after.
(prep_headers): Return true at end.
(elf_section_from_bfd_section): Pass retval argument to
elf_backend_section_from_bfd_section.
* elf32-hppa.c (elf32_hppa_backend_section_from_bfd_section):
Accept and ignore new retval argument.
* bfd.c: Include libelf.h.
(bfd_set_gp_size): Handle ELF targets.
* Makefile.in (bfd.o): Depends upon libelf.h.
(elf32-mips.o): Depends upon $(INCDIR)/elf/mips.h.
Jim Kingdon [Tue, 12 Oct 1993 20:36:37 +0000 (20:36 +0000)]
* xcoffsolib.h, xcoffexec.c: Undo the part of Fred's bfd->abfd
change which involved structure elements. It was unnecessary and
was not consistently done.
Jim Kingdon [Tue, 12 Oct 1993 20:02:11 +0000 (20:02 +0000)]
* stabsread.h, stabsread.c, dbxread.c (common_block*, copy_pending):
Move common block handling from dbxread.c to stabsread.c.
Use the name from the BCOMM instead of the ECOMM.
Allocate things on the symbol_obstack.
* xcoffread.c (process_xcoff_symbol): Process C_BCOMM, C_ECOMM,
and C_ECOML. On unrecognized storage classes, go ahead and call
define_symbol (after the complaint).
* dbxread.c (process_one_symbol): Don't relocate 'S' symbols by
the text offset.
Peter Schauer [Tue, 12 Oct 1993 19:37:14 +0000 (19:37 +0000)]
* osfsolib.c (solib_create_inferior_hook): Reset stop_soon_quietly
after shared library symbol reading to get rid of warning from
heuristic_proc_start.
Jim Kingdon [Tue, 12 Oct 1993 14:59:38 +0000 (14:59 +0000)]
* stabs.texinfo: Update ld stabs in elf relocation to reflect the fact
that Sun has backed away from the linker kludge and thus the relevant
issue is changes to the SunPRO tools, not the Solaris linker.
* stabs.texinfo (Traditional Integer Types): Clean up description
of octal bounds a little bit. Document extra leading zeroes.
Fred Fish [Tue, 12 Oct 1993 02:48:21 +0000 (02:48 +0000)]
Change sp64sim.h to sp64sim.mt in keep_these_too list. Add sp64.mt,
tm-sp64.h, sp64sim.mt, tm-sp64sim.h to lose_these_too list if not added
to keep_these_too list.
fix for pr 3571
* config/tc-h8300.c (get_specific): Special action if 8 bit
address seen. (check_operand): Don't complain if truncating top
bits of an 8 bit address. (build_bytes): Allow an immediate and
an absolute in the same insn.
Peter Schauer [Mon, 11 Oct 1993 09:55:41 +0000 (09:55 +0000)]
* alpha-tdep.c (init_extra_frame_info): Remove kludge for gcc,
gcc has to be compatible with the native tools.
* alpha-tdep.c (alpha_push_arguments): Rename NUM_ARG_REGS to
ALPHA_NUM_ARG_REGS and move its definition to tm-alpha.h.
* config/alpha/tm-alpha.h (FRAME_ARGS_ADDRESS): Change it to the
way the native tools define it, update comment.
Jim Kingdon [Sat, 9 Oct 1993 00:00:56 +0000 (00:00 +0000)]
* inflow.c: Remove unused includes of sys/param.h and sys/types.h.
* inflow.c, ser-unix.c, ser-go32.c, ser-tcp.c, serial.h,
terminal.h, fork-child.c, main.c, utils.c: Move all the process
group stuff back to inflow.c and terminal.h; that's a better place
for it and fixes problems with trying to get/set the process group
of a tty we're doing remote debugging on.
* terminal.h: Skip the redefines and includes if HAVE_TERMIOS.
Fred Fish [Fri, 8 Oct 1993 23:04:45 +0000 (23:04 +0000)]
* osfsolib.c, remote-sim.c, remote.c, solib.c, xcoffexec.c,
xcoffsolib.h: Use 'abfd' for bfd variables instead of 'bfd'.
Sun cc doesn't like variable names that match their typedef'd type.
Jim Kingdon [Fri, 8 Oct 1993 22:18:27 +0000 (22:18 +0000)]
* inflow.c: Remove unused includes of sys/param.h, etc.
* inflow.c, ser-unix.c, ser-go32.c, ser-tcp.c, serial.h,
terminal.h: Move all the process group stuff back to inflow.c;
that's a better place for it and fixes problems with trying to get/set
the process group of a tty we're doing remote debugging on.
* terminal.h: Skip the redefine crap if HAVE_TERMIOS.
Ken Raeburn [Fri, 8 Oct 1993 21:27:13 +0000 (21:27 +0000)]
configure.in: Put {start,end}-sanitize-for-fsf around code that removes some
programs based on host or target; this silent failure to configure isn't
appropriate for the separate one-tool releases FSF puts out.
.Sanitize: Remove that code if "for-fsf" is on command line; remove just the
markers if it isn't.
Jim Kingdon [Fri, 8 Oct 1993 20:33:22 +0000 (20:33 +0000)]
* findvar.c, value.h (symbol_read_needs_frame): New function.
* c-exp.y, m2-exp.y: Call it instead of having our own switch on
the symbol's class.
* valops.c (value_of_variable): Use symbol_read_needs_frame to
decide whether we care about finding a frame.
* config/tc-mips.c (mips_gprmask, mips_cprmask): New variables to
hold register masks.
(md_begin): Initialize them to zero.
(append_insn): Update mips_gprmask and mips_cprmask. Also add
register variables pinfo and prev_pinfo.
* config/tc-mips.h (mips_gprmask, mips_cprmask): Declare.
* config/obj-ecoff.c (ecoff_frob_file): If TC_MIPS, set gprmask
and cprmask from mips_gprmask and mips_cprmask.
* config/tc-mips.h: Define TARGET_FORMAT if OBJ_ELF.
* config/tc-mips.c (GPOPT): Define if OBJ_ECOFF or OBJ_ELF.
(various): Change all references to GP references to apply if
GPOPT, not if OBJ_ECOFF.
(s_change_sec): Rearrange somewhat. If OBJ_ELF, use .rodata
instead of .rdata. If OBJ_ELF, set section flags for .rodata and
.sdata sections.
(s_frame, s_loc, s_mask): Comment out entire functions, rather
than just body. They're not used anyhow.
* configure.in: Set cpu_type to mips for mips*. Accept
mips-*-elfl* and mips-*-elf*.
* compile.c (sim_set_pc): Write to the pc direcly.
(sim_store_register): Now value is passed by reference. (sim_read,
sim_write): Return number of bytes copied.
* h8300-tdep.c (sim_load, sim_kill, sim_open, sim_set_args):
New functions.
* infrun.c (normal_stop): Don't try and set the pc in the current
frame coredump if there isn't one.
* remote-sim.c (gdbsim_store_register): Don't
SWAP_TARGET_AND_HOST, sim_store_register takes bytes in raw order.
(gdbsim_wait): Set status with WSETSTOP.
* config/h8300/tm-h8300.h (sr_get_debug): Define
Jim Kingdon [Thu, 7 Oct 1993 21:33:37 +0000 (21:33 +0000)]
* gdb.texinfo (Signaling): Update for symbolic symbol names
and add a section explaining the difference between the GDB
signal command and the shell kill utility.
Jim Kingdon [Thu, 7 Oct 1993 20:13:08 +0000 (20:13 +0000)]
New Mach stuff:
* config/i386/i386mach.c: Explain this is for the old (probably
non-functional and/or obsolete) Mach stuff.
* m3-nat.c, config/nm-m3.h,
i386m3-nat.c, mipsm3-nat.c, ns32km3-nat.c,
config/i386/{i386m3.mh,i386m3.mt,tm-i386m3.h,xm-i386m3.h},
config/i386/{i386mk.mh,i386mk.mt,tm-i386mk.h,xm-i386mk.h},
config/mips/{mipsm3.mh,mipsm3.mt,tm-mipsm3.h,xm-mipsm3.h},
config/ns32k/{ns32km3.mh,ns32km3.mt,tm-ns32km3.h,xm-ns32km3.h}:
New files.
Make support for relaxing more generic.
* reloc16.c: Add new target entry - bfd_coff_reloc16_estimate,
fix bit rot.
* libcoff.h, libcoff-in.h: declarations. Prototypes
* coffcode.h (bfd_coff_std_swap_table): Add calls to
coff_reloc_16_extra_cases and coff_reloc16_estimate.
(dummy_reloc16_estimate): New function.
* coff-h8300.c (h8300_reloc16_estimate): New function
Jim Kingdon [Thu, 7 Oct 1993 18:40:39 +0000 (18:40 +0000)]
* blockframe.c (find_pc_partial_function): If we call
PSYMTAB_TO_SYMTAB, call target_terminal_ours_for_output first.
This is needed now that wait_for_inferior passes in endaddr.
* infrun.c: Move call to target_terminal_inferior from proceed
to resume.
Ken Raeburn [Thu, 7 Oct 1993 18:34:59 +0000 (18:34 +0000)]
elfcode.h (EALIGN): Define, dependent on ARCH_SIZE.
(align_file_position): New function.
(elf_locate_sh): Disabled function deleted.
(assign_file_positions_for_symtab_and_strtabs): Align position, then place
symtab, then do other sections.
(map_program_segments): Align program header.
(assign_file_positions_except_relocs): Align section headers.
(assign_file_positions_for_relocs): Align relocation sections.
Stu Grossman [Thu, 7 Oct 1993 16:42:08 +0000 (16:42 +0000)]
* blockframe.c (find_pc_partial_function): Fix handling for PCs
beyond the end of the last function in an objfile.
* coff-solib.c (coff_solib_add): Use BFD to get fields from .lib
section.
* infrun.c (wait_for_inferior): Modify test for subroutine entry
to include pc out of bounds of the previous function.
* remote.c (remote_wait): Use strtoul for parsing 'N' message.
Add code to relocate symfile_objfile->sections.
Jim Kingdon [Thu, 7 Oct 1993 11:16:35 +0000 (11:16 +0000)]
* breakpoint.c, breakpoint.h (breakpoint_init_inferior): New function
that clears the `inserted' flag for all breakpoints and deletes
any breakpoints which should go away between runs of programs.
* inflow.c (generic_mourn_inferior), infrun.c (init_wait_for_inferior),
remote-es.c (es1800_load), comments in exec.c and corelow.c:
Use it instead of mark_breakpoints_out.
* breakpoint.c (mark_breakpoints_out): Update comment, tm-rs6000.h
uses it in a completely different context.
* breakpoint.c (breakpoint_re_set_one): Add bp_call_dummy case.
Jim Kingdon [Thu, 7 Oct 1993 11:03:35 +0000 (11:03 +0000)]
* Makefile.in (REGEX, REGEX1): Always use our own version of
regex.c to be consistent across hosts.
* source.c (_initialize_source): Initialize regex to use grep
style syntax as an approximation to POSIX basic regex syntax.
Jim Kingdon [Wed, 6 Oct 1993 21:48:39 +0000 (21:48 +0000)]
* hppa-tdep.c (frame_chain): Rework so that it correctly
handles boundaries where code with a frame pointer calls code
without a frame pointer.
(dig_fp_from_stack): New function.