Jeff Law [Mon, 28 Feb 1994 04:25:14 +0000 (04:25 +0000)]
* elf32-hppa.c (mismatches, retval_mismatches): Fix mismatch
action in case where caller specified no argument relocation.
(hppa_elf_build_linker_stub): Try again to get the sym_ptr_ptr
right in the original relocation and the stub's relocation.
* elf32-hppa.c (hppa_elf_stub_reloc): Accept asymbol ** rather
than asymbol * for original target symbol. All callers changed.
Set reloc->sym_ptr_ptr appropriately.
(hppa_elf_build_linker_stub): Set reloc->sym_ptr_ptr correctly.
(hppa_elf_look_for_stubs_in_section): No longer need symbols
argument. Use the output symbols when canonicalizing the relocs,
creating them if necessary.
* linker.c (_bfd_generic_link_output_symbols): Do not rebuild/clobber
the output symbols if they already exist.
Jeff Law [Mon, 28 Feb 1994 00:30:36 +0000 (00:30 +0000)]
* emultempl/hppaelf.em: Include elf32-hppa.h.
(file_chain): Add decl.
(hppa_look_for_stubs_in_section): Delete decl.
(hppaelf_finish): Reenable code. Do not pass symbols
down to hppa_look_for_stubs_in_section.
* mpw-configure (prefix, mpw_prefix): Handle it.
(ARCHDEFS): Add to makefile editing.
(TDEPFILES, TM_FILE, XDEPFILES, XM_FILE, NAT_FILE): Add to
makefile if defined.
(mpw-edit-prefix): Use during makefile editing.
* mpw-config.in (mmalloc, readline): Don't configure.
* mpw-build.in (thisscript): Rename to ThisScript.
Use mpw-build instead of BuildProgram everywhere.
(mmalloc, readline): Don't build.
* mpw-README: New file, basic documentation about the MPW port.
* targets.c (BFD_SEND, BFD_SEND_FMT): Add debugging versions that
check all the pointer dereferences. Enabled via DEBUG_BFD_SEND.
* bfd-in2.h: Rebuilt.
Peter Schauer [Sun, 27 Feb 1994 21:25:36 +0000 (21:25 +0000)]
* config/i386/tm-i386v4.h (I386V4_SIGTRAMP_SAVED_PC, IN_SIGTRAMP,
FRAME_CHAIN, FRAMELESS_FUNCTION_INVOCATION, FRAME_SAVED_PC):
Define to make backtracing through the various sigtramp handlers
work.
Peter Schauer [Sun, 27 Feb 1994 21:24:16 +0000 (21:24 +0000)]
* config/i386/tm-i386v4.h (I386V4_SIGTRAMP_SAVED_PC, IN_SIGTRAMP,
FRAME_CHAIN, FRAMELESS_FUNCTION_INVOCATION, FRAME_SAVED_PC):
Define to make backtracing through the various sigtramp handlers
work.
* i386-tdep.c (i386v4_sigtramp_saved_pc): New routine to fetch
the saved pc from ucontext on the stack for SVR4 signal handling.
Jeff Law [Sun, 27 Feb 1994 19:20:44 +0000 (19:20 +0000)]
* elf32-hppa.c: Second half of major cleanup. More comments,
PARAMize and staticize rest of functions. Delete unused
functions. Delete unused/unnecessary arguments to some functions.
Group static vars together. Abort for bad errors until we have
error code propogation working. Work on spacing and indention.
Add FIXMEs for unresolved problems. Use enums rather than
#defines for lots of things. Merge two functions which build
linker stubs into a single function (so they can easily share a
ton of common code).
Ian Lance Taylor [Sat, 26 Feb 1994 19:01:50 +0000 (19:01 +0000)]
* ldmain.c (write_map): Don't define. Removed all references.
Just use map_file or map_filename instead.
(add_archive_element): Use minfo to write map information, not
info_msg.
(constructor_callback): Use fprintf to write map information, not
info_msg.
* ldmain.h (write_map): Don't declare.
* ldgram.y (mri_script_command): Removed reference to write_map.
* ldlang.c (lang_one_common): Likewise.
* lexsup.c (parse_args): Likewise.
Ian Lance Taylor [Sat, 26 Feb 1994 18:25:23 +0000 (18:25 +0000)]
* aoutx.h, archive.c: Add casts to avoid warnings from SVR4 cc.
* ecoff.c, ecofflink.c, ecoffswap.h, srec.c: Likewise.
* elf32-i386.c: Likewise.
* elfcode.h (bfd_section_from_shdr): Make i unsigned; remove old
#if 0 code.
(elf_write_phdrs): Make i unsigned.
(map_program_segments): Make i and n_left unsigned.
(assign_file_positions_except_relocs): Make i unsigned.
(write_shdrs_and_ehdr): Make count unsigned.
(assign_file_positions_for_relocs): Make i unsigned.
(NAME(bfd,elf_write_object_contents)): Make count unsigned.
(section_from_elf_index): Make index argument unsigned.
Ian Lance Taylor [Sat, 26 Feb 1994 18:24:10 +0000 (18:24 +0000)]
* reloc.c (_bfd_relocate_contents): Adjust handling of overflow to
avoid depending upon right shifts of signed numbers, and to
correct handling of src_mask with lower bits zero.
* elf32-hppa.c: First half of major cleanup. Add/cleanup lots of
comments. PARAMize some static functions. Delete unused functions.
Delete unused/unnecessary arguments to many functions. Group
static vars together. Collapse common case statements together
in many places. Use default case when possible instead of listing
each case separately. Abort for bad errors until we get error
code propogation working. Work on spacing and indention problems.
Add FIXMEs for some unresolved problems. Delete hopelessly broken
COMPLEX relocation support (it's never used anyway).
(hppa_elf_rebuild_insn): Delete. Moved into libhppa.h.
(elf_hppa_tc_symbol): Accept and use new arguments (symext chains).
(elf_hppa_tc_make_sections): Likewise.
Ian Lance Taylor [Sat, 26 Feb 1994 03:22:26 +0000 (03:22 +0000)]
* ldgram.y: Move include of ldlex.h back with other includes.
* ldlex.h (input_type): Don't initialize enum constants to
particular values.
* ldlex.l: Use a switch to return the right token based on
input_type, rather than knowing that input_type has a value based
on a token type.
Jim Kingdon [Sat, 26 Feb 1994 01:52:39 +0000 (01:52 +0000)]
* remote.c, remote-mon.c, remote-utils.c, remote-utils.h,
target.h, remote-es.c, remote-nindy.c: Don't set baud rate if
baud_rate is -1. Remove sr_get_baud_rate and sr_set_baud_rate;
just use the global variable itself. When printing baud rate,
don't print a baud rate if baud_rate is -1.
Jeff Law [Sat, 26 Feb 1994 00:33:30 +0000 (00:33 +0000)]
* emultempl/hppaelf.em: First attempt to clean this file up.
Add comments in several functions as to their purpose and
how they function (or my current best guess). Clean up horrible
spacing and indention that never should have been accepted in the
first place. Add FIXMEs for issues which need to be resolved.
Disable linker-stub generation until it gets fixed. This allows
the linker to at least work on simple code for testing purposes.
Jeff Law [Fri, 25 Feb 1994 18:51:35 +0000 (18:51 +0000)]
* ldlang.c (lang_size_sections): No longer static (PA ELF calls
it via hppaelf_finish). Prototype moved into ldlang.h.
(lang_process): Move problematic extra call to lang_size_sections
into the PA ELF specific code.
* emultempl/hppaelf.em (hppaelf_finish): Extra call to
lang_size_sections moved here.
Jim Kingdon [Fri, 25 Feb 1994 17:45:38 +0000 (17:45 +0000)]
* coffread.c (read_coff_symtab): Pass mst_file_* to
record_minimal_symbol for C_STAT symbols. Put C_EXT and C_STAT
symbols in the minimal symbols regardless of SDB_TYPE.
Jim Kingdon [Fri, 25 Feb 1994 09:13:10 +0000 (09:13 +0000)]
* gdb.t06/break.exp (test_next_with_recursion): Remove xfail for
next over recursive call. Revise the tests from that point on
(which had been skipped) to match GDB's actual (correct) output.
* gdb.t07/watchpoint.exp (test_stepping): Remove xfail for bug
with next over a breakpoint whose condition is false.
Jim Kingdon [Fri, 25 Feb 1994 09:12:29 +0000 (09:12 +0000)]
* breakpoint.h (enum bptype): New type bp_through_sigtramp.
(bpstat_what_main_action): New code BPSTAT_WHAT_THROUGH_SIGTRAMP.
* breakpoint.c (bpstat_what): Return BPSTAT_WHAT_THROUGH_SIGTRAMP
if we hit a bp_through_sigtramp breakpoint. Remove kludge which
ignored bs->stop for a bp_step_resume breakpoint.
* infrun.c (wait_for_inferior): Make a through_sigtramp_breakpoint
which performs one (the check_sigtramp2 one) of the functions
which had been handled by the step_resume_breakpoint. For each
use of the step_resume_breakpoint, make it still use the
step_resume_breakpoint, use the through_sigtramp_breakpoint, or
operate on both.
Deal with BPSTAT_WHAT_THROUGH_SIGTRAMP return from bpstat_what.
When setting the frame address of the step resume breakpoint, set
it to the address for frame *before* the call instruction is
executed, not after.
Jim Kingdon [Fri, 25 Feb 1994 04:23:19 +0000 (04:23 +0000)]
* mips-tdep.c (mips_print_register): Print integers using
print_scalar_formatted rather than duplicating all the
CC_HAS_LONG_LONG and so on.
(mips_push_dummy_frame): Use read_register_gen rather than using
read_register and then putting it back in target format with
store_unsigned_integer. If registers are more than 4 bytes, give
an error rather than have some registers overwrite other
registers.
#if 0 unused include of opcode/mips.h.
Ian Lance Taylor [Fri, 25 Feb 1994 03:32:08 +0000 (03:32 +0000)]
* configure.in (powerpc-*-elf*): New target; use ppc-elf32.
* config/ppc-elf32.mt: New file.
* emulparams/elf32ppc.sh: New file.
* emultempl/ppc.em: New file.
* Makefile.in (ALL_EMULATIONS): Added em_elf32ppc.o.
(em_elf32ppc.c): New target; uses elf32ppc.sh, ppc.em and elf.sc.
(EMULATION_OFILES): Added dependencies on ldexp.h and ldlang.h.
David MacKenzie [Fri, 25 Feb 1994 03:26:25 +0000 (03:26 +0000)]
Use getopt instead of lex and yacc to parse the command line.
* ld.texinfo (Options): Document changes to option syntax.
* Makefile.in: Update dependencies.
* ldver.c (help): Tweak dashes in usage message.
* ldgram.y (%union): Remove unused members.
Remove %tokens for command line options; add ones for input types.
(command_line): Rules removed.
(file): Instead of command line, recognize an
input type indicator, then use the nonterminal for that type.
(defsym_expr): New nonterminal from code formerly in command_line.
* ldlex.h: Declare parser input type enum and variable.
Don't declare parse_line.
* ldlex.l: Remove unused variables. Make some used ones static
and comment them.
(COMMAND): Start state and its rules removed.
At start of yylex, return input state token if at start of input.
(lex_redirect): Don't need to set yyout.
(ldlex_command): Function removed.
* ldmain.c (main): Instead of calling parse_line, set up the
redirections and call yyparse directly.
* ldmisc.c (vfinfo): If there's no input filename, print nothing, not
"command line".
* lexsup.c: Remove #if 0'd code.
(parse_line): Function removed.
(parse_args): Rewrite to use getopt_long_only.
(set_default_dirlist): New function from code formerly in
ldgram.y:command_line.
(set_section_start): New function.
* emultempl/generic.em, emultempl/gld960.em, emultempl/hppaelf.em,
emultempl/lnk960.em, emultempl/m88kbcs.em: Don't enclose
compiled-in link scripts in "{" and "}", as the grammar no longer
wants them to be.
Ken Raeburn [Thu, 24 Feb 1994 16:38:42 +0000 (16:38 +0000)]
* read.c (potable): Added ".this_GCC_requires_the_GNU_assembler", which is
ignored by gas, but will cause other assemblers to choke. Intended for use by
gcc ports that require gas instead of native assemblers.
Jeff Law [Thu, 24 Feb 1994 16:10:15 +0000 (16:10 +0000)]
* confiugre.in (hppa*-*-osf*): New configuration.
* config/pa/hppaosf.mt: New target makefile fragment.
* config/pa/tm-hppao.h: New target include file.
Peter Schauer [Thu, 24 Feb 1994 12:18:54 +0000 (12:18 +0000)]
* Merge in changes from bash-1.13.5. Merge changes from glob/tilde.c
into tilde.c and use it. Add system function declarations where
necessary. Check for __GO32__, not _GO32_ consistently.
* Makefile.in: Update dependencies.
* rltty.c: Include <sys/file.h> to match include file setup
in readline.c for rldefs.h. Otherwise we get inconsistent
TTY_DRIVER definitions in readline.c and rltty.c.
* bind.c, complete.c: Do not include <sys/types.h>, it is already
included via sysdep.h, which causes problems if <sys/types.h> has
no multiple inclusion protection.
* readline.c (_rl_set_screen_size): Reestablish test for
TIOCGWINSZ_BROKEN.
Jeff Law [Thu, 24 Feb 1994 02:31:01 +0000 (02:31 +0000)]
* som.c (som_prep_headers): Use CPU_PA_RISC1_0 for magic
number rather than HP9000S800_ID. Note som.c is careful
to make sure CPU_PA_RISC1_0 is always defined.
Jeff Law [Thu, 24 Feb 1994 00:31:46 +0000 (00:31 +0000)]
* tm-hppa.h (CALL_DUMMY): Add two NOP instructions to the end of
the call dummy to avoid kernel bugs in HPUX, BSD, and OSF1.
(CALL_DUMMY_LENGTH): Changed accordingly.
Stu Grossman [Thu, 24 Feb 1994 00:25:58 +0000 (00:25 +0000)]
* sparclite/hello.c: Add factorial function for testing.
* salib.c: Use macros instead of constants for I/O addresses to
make 931 support easier.
* sparclite.h: Change constraint for LOC to "rJ" to force use of
register in sta/lda instructions.
Jim Kingdon [Wed, 23 Feb 1994 19:20:07 +0000 (19:20 +0000)]
* stabs.texinfo: Document N_RBRAC as function relative for COFF as
well as for ELF and SOM. Unify the descriptions of ELF and SOM
as "stabs in sections" rather than just saying "ELF and SOM".
Also make that stuff apply to COFF.
Ian Lance Taylor [Tue, 22 Feb 1994 04:25:43 +0000 (04:25 +0000)]
* ecofflink.c (ecoff_write_symhdr): Set symhdr->magic here.
* ecoff.c (ecoff_write_object_contents): Make sure .bss section
ends on a page boundary if there is no symbol table.
(ecoff_bfd_final_link): Don't set symhdr->magic here.