Commit Graph

613 Commits

Author SHA1 Message Date
thorpej 0a7271465f Apply patch from binutils cvs:
2002-02-07  Daniel Jacobowitz  <drow@mvista.com>

        * bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
        been included, not drag it in.
        * bfd-in2.h: Regenerate.

Fixes toolchain/16709, from Christian Limpach <chris@Pin.LU>.
2002-05-10 21:20:39 +00:00
thorpej 44db3fb402 Allow gdb for sh*-*-netbsd*. 2002-05-09 17:07:16 +00:00
thorpej 92f04f0981 Fix a "comparison is always true" warning from gcc-current by passing
the int version of the chatacter to META_CHAR() (like other parts of
readline do).
2002-05-06 18:25:46 +00:00
thorpej 1cc7547139 Fix a "comparison always true" warning from gcc-current. 2002-05-06 18:22:11 +00:00
thorpej bc975411fa Kill a "comparison always false" warning from gcc-current on LP64 platforms.
XXX Should discuss making the sh_name member of the Elf_Internal_Shdr
a bfd_size_type with the binutils folks.
2002-05-06 17:59:18 +00:00
simonb 4ae3a2264e Pull in (part of) rev 1.117 from gcc master sources:
(alpha_expand_unaligned_load, alpha_expand_unaligned_store):
	Cast switch operand of size to int.

Fixes one 32-bit host cross-compile problem, but still doesn't work...
2002-05-06 02:12:30 +00:00
thorpej e2bb3bd9bb Basic (emphasis on basic) GDB support for NetBSD/sh3. 2002-05-05 02:37:33 +00:00
rearnsha 9c261eac77 Disable the following patterns: addsi3_compare_op1, addsi3_compare_op2,
compare_addsi2_op0 & compare_addsi2_op1.  From the comment I've just
inserted:
;; XXX RWE: The reload pass of GCC-2.95 makes a mess of these if one of the
;; arguments is, or is directly derived from, an eliminable register.  In
;; that case reload will substitue into the PLUS and then canonicalize it
;; without regard to the the match_dup parts.  Since these are rare, I've
;; disabled them for now, but they should be OK in 3.x (which manages the
;; substitution without canonicalization.
Fixes PRs port-arm/16424 and toolchain/16304.
2002-05-03 20:32:22 +00:00
thorpej 11066f6159 Add -D_LP64 to CPP_ARCH64_SPEC. (This will be done differently in gcc 3.x.) 2002-05-03 17:47:57 +00:00
thorpej aa048fbf0d Add -D_LP64 to CPP_PREDEFINES. 2002-05-03 17:45:02 +00:00
rearnsha 6acc7fa8af Pull up from FSF sources:
Fri Mar  3 12:49:28 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
	* reload1.c (reload_combine_note_use): Handle return register USEs.
	REG case: Handle multi-hard-register hard regs.

Fixes toolchain/16431
2002-05-03 17:33:01 +00:00
thorpej 690a4cfca8 * vax-dis.c (print_insn_arg): Pass the insn info to print_insn_mode.
(print_insn_mode): Print some basic info about floating point values.
2002-04-28 05:27:46 +00:00
thorpej 0be5820cdf Use the disassembler from libopcodes, not a private one. 2002-04-28 02:34:53 +00:00
mrg 5bd8d70795 bump version to nb2. 2002-04-27 04:31:16 +00:00
eeh d188ed6784 Backport from -current a fix for structure passing lossage. 2002-04-24 22:28:36 +00:00
rearnsha 05430be236 Ensure we take any double-word adjustment into account when
constructing the epilogue sequence.
2002-04-22 16:14:22 +00:00
matt fb64329c36 Add a missing == 0 to a strcmp of "vec" 2002-04-19 02:20:21 +00:00
msaitoh 1b117bda9b pass arg 4 of a qsort() correctly. 2002-04-16 03:49:57 +00:00
msaitoh 22868c18c1 ADD MISSING "TARGET_DEFAULT" BIT WHEN LITTLE ENDIAN 2002-04-15 13:24:54 +00:00
thorpej a48469ee44 Add bfd_elf32_bigarm_vec to arm-netbsdelf. 2002-04-11 21:43:49 +00:00
thorpej 8257c98a16 Back out the EI_OSABI==ELFOSABI_NETBSD changes for arm-netbsdelf. 2002-04-11 21:35:49 +00:00
itohy be6e32fe84 make gas work for a.out/i386 2002-04-10 15:02:04 +00:00
msaitoh 93943fd466 sync with gnu/dist/gas/config/tc-sh.c rev. 1.4
> dd "-big" option for little endian
2002-04-10 11:33:06 +00:00
msaitoh c6a6db9921 shl -> !target_big_endian 2002-04-10 10:12:10 +00:00
msaitoh eec913e568 sync with gnu/dist/gas/config/tc-sh.[ch] rev. 1.3
> Use only one common variable to check whether big endian or not.
 > Now gas doesn't confuse endianness!
2002-04-10 10:03:43 +00:00
msaitoh 3bbc40138d - include MANY *.h
- include sh/sh-protos.h instead of gcc3's tm_p.h
- fix some function's return value
- fix some function's missing argument
- warning fixes
2002-04-09 17:57:33 +00:00
msaitoh b87ae7ffe6 define prototypes as gcc3 into -protos.h 2002-04-09 17:54:40 +00:00
thorpej cf7fc0c171 Multi-line string literals are not allowed in ISO C. 2002-04-08 22:46:29 +00:00
thorpej 142b21ac73 Set ARM_FLAG_APCS_FRAME in TARGET_DEFAULT. Per discusison with
Richard Earnshaw.
2002-04-08 21:41:10 +00:00
thorpej 5511931bc6 Use <string.h> to get the memcpy/memset prototype. 2002-04-08 14:48:31 +00:00
msaitoh 54d5b8ac24 apply gcc original rev. 1.84
> 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
 >
 > 	* config/sh/sh.c (barrier_align): Recognize branch around far
 > 	branch and redundant insn.
2002-04-05 18:06:29 +00:00
msaitoh fb8881ade8 fix my last patch. 2002-04-05 18:02:28 +00:00
msaitoh e029db8b1c apply gcc original rev. 1.51
> 2000-03-06  Clinton Popetz  <cpopetz@cygnus.com>
 >
 > 	* config/sh/sh.c: (barrier_align): Handle a delay slot that is
 > 	filled with an insn from the jump target.
2002-04-05 17:58:28 +00:00
msaitoh bf44c5577f apply a part of gcc's original rev. 1.96
ADD MISSING "()"

 > 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
 >
 >	* config/sh/sh.c (barrier_align): Add parentheses in initial
 > 	credit computation.
2002-04-05 17:34:27 +00:00
msaitoh ffef804eee add missing "return 0;" 2002-04-05 17:26:00 +00:00
msaitoh 83dcb72379 apply gcc's original rev. 1.81
> 2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
 >
 > 	* config/sh/sh.c (split_branches): Don't dereference re-computed
 > 	`beyond' before checking it's non-NULL.
2002-04-05 17:23:20 +00:00
msaitoh f8de406a0c apply a part of gcc's original rev. 1.67
> Mon Sep 18 20:26:50 2000  J"orn Rennecke <amylaar@redhat.co.uk>
 >
 >         * sh.c (find_barrier): For Sh1, take alignment after jumps into account.
2002-04-05 17:10:24 +00:00
msaitoh 689473c860 apply gcc original rev. 1.28
> Fix pcrel too far problems due to upping CACHE_LOG on SH2:
 > 	* sh.c (barrier_align): Don't return early for normal branch/barrier
 > 	when optimizing for SH2.
2002-04-05 16:59:16 +00:00
msaitoh e19e995528 apply gcc original rev. 1.144
> 2000-09-19  Bernd Schmidt  <bernds@redhat.co.uk>
 >
 > 	* final.c (insn_current_reference_address): Use INSN_SHUID of seq
 > 	rather than that of branch.
 > 	(shorten_branches): Don't increment insn_current_address twice.
2002-04-05 16:21:38 +00:00
msaitoh 07baef4c9d apply gcc's original rev. 1.105
> Tue Jan  4 23:59:26 2000  Denis Chertykov <denisc@overta.ru>
 >
 > 	* final.c (shorten_branches): Correctly compute length of
 > 	asms without operands.
2002-04-05 15:58:31 +00:00
msaitoh 373c220202 gcc/config/sh/sh.h original rev. 1.51
gcc/config/sh/sh.c	original rev. 1.43

 > Wed Feb 23 16:42:21 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
 >
 >         * sh.h (LOOP_ALIGN): If aligning loops, call sh_loop_align
 >         to check for special cases.
 >         * sh.c (sh_loop_align): Define.
2002-04-05 15:50:14 +00:00
msaitoh 16f8beb6c9 apply gcc original rev. 1.09
> Wed Feb 23 16:42:21 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
 >
 > 	* final.c (shorten_branches): Make value passed to LOOP_ALIGN
 > 	conform to documentation.
2002-04-05 15:28:07 +00:00
msaitoh 8ed9bfd205 fix incorrect change at rev. 1.2 2002-04-04 20:00:33 +00:00
msaitoh 306d88f7e2 sync with gnu/dist/gcc/config/sh/sh.md rev. 1.7
> apply original gcc rev. 1.29:
 >
 >  * Guard insn splits against illegal regsiters.
2002-04-04 15:39:14 +00:00
msaitoh dd5f863fa8 sync with gnu/dist/gcc/config/sh/sh.md rev. 1.5
> apply gcc original rev. 1.34:
 >
 >  * sh.c (block_lump_real): Add missing clobber of T_REG
2002-04-04 15:33:35 +00:00
msaitoh a513ce40a3 sync with gnu/dist/gcc/config/sh/sh.md rev. 1.4
> gen_call() takes only two arguments (from egcs-current)
2002-04-04 15:30:47 +00:00
msaitoh e05a3f8f0a sync with gnu/dist/gcc/config/sh/sh.md rev. 1.2
> Sync *{mul,div}*i3 with egcs-current.
 > Now we can compile mount_mfs (newfs) with -O2!
2002-04-04 15:27:36 +00:00
msaitoh 4999187555 sync with gnu/dist/gcc/combine.c rev. 1.5
> gcc original rev. 1.89:
 > 	* combine.c (if_then_else_cond): If comparing against zero,
 > 	just return thing being compared.
 >
 > gcc original rev. 1.132:
 > 	* combine.c (combine_simplify_rtx): Don't create an if_then_else
 > 	unless both args are general_operand.
2002-04-04 13:30:38 +00:00
msaitoh 8b3e2136ae sync with gnu/dist/gcc/combine.c rev. 1.4,1.6
> apply gcc original rev. 1.116:
 >
 >  > combine.c (simplify_comparison): Fix typo.
 >
 > LTU, LEU, GTU, "LEU" -> LTU, LEU, GTU, "GEU"
 >
 > apply gcc original rev. 1.198 (as rev. 1.116)
 >
 >  > combine.c (simplify_comparison): Fix typo.
 >
 > GTU, LTU, GEU, "GEU" -> GTU, LTU, GEU, "LEU"
2002-04-04 13:23:37 +00:00
scw fb1d7cb64f From Takeshi Shibagaki <ie9t-sbgk@asahi-net.or.jp>:
Define OBJECT_FMT_ELF for the benefit of libgcc et al.
2002-04-03 20:31:24 +00:00
simonb eeac1cd146 Make sure the "-G num" option starts with a new paragraph instead of
flowwing on to the end of the previous option's description.
2002-04-03 15:14:15 +00:00
thorpej 7667f320c2 Implement elf32_arm_object_p(). 2002-04-03 02:59:13 +00:00
thorpej ef861642cb #define HOST_BITS_PER_LONGLONG 64 2002-04-02 07:28:23 +00:00
thorpej c23f2ad0b9 * Use <elfos.h>, not <svr4.h>.
* Use <dbxelf.h>.
* Undef CPP_PREDEFINES before defining it.
* Remove the undef of HANDLE_SYSV_PRAGMA; we need this in order for
  weak externs to work properly.
2002-04-02 06:22:28 +00:00
thorpej fc6514a57b * Add 2 new BFD targets, "elf32-littlearm-nbsd" and "elf32-bigarm-nbsd".
These targets are identical to the non-nbsd versions except that they
  mark resulting ELF objects and executables as OSABI_NETBSD version 0.
* Add big-endian ARM BFD vectors to arm-*-netbsdelf.  Make the -nbsd
  BFD target the default for arm-*-netbsdelf.
2002-04-01 19:53:05 +00:00
jmc d3debc5e93 Pull changes from gcc3 back to properly emit calls for the _Qp* routines
correctly.

Enable -msoft-quad-float as the default moving forward. A complete build with
this compiler produces no errors and passes known regressions problems (awk,
etc).

XXX - -mhard-quad-float no longer will generate code correctly (internal
compiler problems). This is the case all the way to gcc-current so it's not
an easy fix at the moment but no one should be using hard quad math anyways.
2002-03-28 08:14:55 +00:00
matt 4d42b0eae1 Add some EF_VAX flags. (not yet used) 2002-03-28 06:52:57 +00:00
matt cd2128de3e Use "pushl $0" in preference to "clrl -(sp)" since the former is clearer
in its intent.
2002-03-28 06:51:36 +00:00
jmc bb22d1e732 Instead of removing ARRAY_SIZE just #ifndef around it so patches can be
generated against the gcc-2.95.3 tag and this will compile. (as ARRAY_SIZE
isn't provided in libiberty included in gcc-2.95.3 itself
2002-03-27 04:09:03 +00:00
jmc 93fcfe16c5 Oops...don't check against &0x1 as the address is already even which is the
problem that was being solved in the first place
2002-03-27 00:00:16 +00:00
thorpej ef51c9bc83 Back out DEFAULT_SHORT_ENUMS; it's actually causing some real problems,
and we need to come up with a better strategy.

Per discussion with Ben Harris.
2002-03-25 23:26:31 +00:00
bjh21 8c184bd586 This file is long obsolete. Remove it. 2002-03-24 22:56:59 +00:00
thorpej 3c7ffdc2a5 Add arm/xm-netbsd.h which defines ONLY_INT_FIELDS, and use it for
NetBSD ARM ELF targets.  This is necessary in order for the compiler
to build with packed enums.
2002-03-24 18:05:57 +00:00
jmc 371e95a59a Fix sparc64 so locals and args can be accessed correctly.
If one doesn't subtract the stack bias back off %fp before attempting
to access variables stored relative to %fp the wrong address is picked up for
all locals and args. So, calls to the FRAME_LOCALS_ADDRESS or
FRAME_ARGS_ADDRESS macros need a function for sparc64 specific cases.
Provide a function to check for bias's addresses and fix them up.
2002-03-22 03:33:08 +00:00
fredette 0e21b8d24d Added a case for m680[01]0-*-netbsdelf. 2002-03-21 23:54:43 +00:00
fredette 7a6b4d460d Pulled changes from binutils-current necessary for 68010
support.  Specifically, got the changes to md_prepare_relax_scan
from binutils' revision 1.11 of this file.  As a bonus also
now define DWARF2_LINE_MIN_INSN_LENGTH.
2002-03-21 23:53:14 +00:00
bjh21 878f329747 Redefine RETURN_IN_MEMORY to match the ATPCS structure-return rules, rather
than the APCS ones.  As with VFP-format doubles, this should really be done
at run time.
2002-03-19 20:59:22 +00:00
eeh db0c1e532e Default to the medium any memory model. 2002-03-19 18:12:27 +00:00
bjh21 f9a48a09ad Turn on DEFAULT_SHORT_ENUMS, since this will be required by the ARM EABI-2001,
which we'd like to comply with.
2002-03-18 20:36:51 +00:00
nathanw 66bd2c38da Fix an off-by-one error in elfcore_netbsd_get_lwpid() which caused the
returned LWP ID to always be 0, causing problems for creating
note pseudosections in multi-LWP processes.
2002-03-15 19:01:39 +00:00
bjh21 dca4ae94d6 When checking that a potentially-unsigned enum is >= 0, assign it to an int
first.  This is necessary to avoid warnings with -fshort-enums.  Casting
to an int really should be enough, but turns out not to be.

This change will be documented in doc/HACKS.
2002-03-09 13:22:52 +00:00
jdolecek ee0c88c936 Also supply the FOP_REGNUM value in supply_xmmregs().
This fixes problem with getting return value of functions
in debugged programs, as noted in toolchain/15715.

Fix provided by Love <lha@stacken.kth.se> in
http://mail-index.netbsd.org/tech-toolchain/2002/01/17/0000.html
Reviewed by Jason Thorpe.
2002-03-07 19:14:44 +00:00
mrg 60e3a276af sync with FSF binutils:
- also accept "-maltivec"
	- enable altivec by default
	- add mtvrsave and mfvrsave

the latter two are required for an "altivec" GCC.
2002-03-04 13:35:42 +00:00
matt 9991b60633 Remove R_VAX_GOT32O and R_VAX_PLT32O relocs. VAX don't need 'em. 2002-02-27 07:43:34 +00:00
tv 6b83b4af8c If doing a Canadian cross and the creation of auto-build.h fails, cause
the outer "configure" run to fail, too.
2002-02-26 19:17:51 +00:00
tv a688a18a3f Tack "nb1" onto VERSION here, too, to sync with "configure". 2002-02-26 18:38:38 +00:00
matt d8d7046773 Switch REAL_ARITHMETIC on (needed for DWARF support). 2002-02-25 17:33:02 +00:00
matt 796a42b608 Only ELF has S_IS_WEAK. 2002-02-24 19:50:14 +00:00
matt cce4db07ab Add a missing register prefix. 2002-02-24 01:11:40 +00:00
matt 4ce78967e6 Make some assembler warnings fatal errors. don't allow 4 char register
name in OBJ_AOUT mode.
2002-02-24 01:10:31 +00:00
matt 9fe6d7dc5a Dump a few comments that don't apply anymore. Remove dead code that is no
longer used.  Add register prefix support.  It's always on for ELF and
optional for a.out (it's recognize register names with or without the %
prefix).
2002-02-23 21:07:29 +00:00
matt 572f2bb969 Teach gcc to emit register prefixes (though unless its ELF, the register
prefix is NULL).
2002-02-23 21:02:49 +00:00
matt bc49a6eede Fix long time codegen bug. Only the COMPARE, ADD, MINUS operations actually
set the C(arry) bit appropriately.  All other leave it in an indeterminate
(to GCC) state.  Mark that by setting CC_NO_OVERFLOW.  Change vax.md emission
of branches that use the C bit to use OUTPUT_JUMP so that if CC_NO_OVERFLOW is
set, branches that would normally use the C bit use opcodes that don't use the
C bit (jgtru -> jneq && jlssu -> jeql).  Delete the cmpdi pattern.
2002-02-23 18:36:52 +00:00
matt 13828b4c70 Implement a cmpdi pattern so gcc won't try to help us. The good news is
that's it's smaller.  Not sure about faster.
2002-02-22 06:03:36 +00:00
matt 6238aa6c4f Back out change to NOTICE_CC_UPDATE. It has really bad side effects.
I'll fix this another way.
2002-02-22 06:02:33 +00:00
matt eb2926091c movl doesn't modify the C bit in the PSL so make sure to communicate that
fact to the gcc optimizer so it doesn't emit the wrong branch instructions.
2002-02-21 19:31:36 +00:00
matt 90b4581807 Ahhh! Use tc_fix_adjustable to make gas not resolve symbols into segment
based references for weak or external symbols.
2002-02-21 07:30:32 +00:00
matt 1b65728579 Gegneralize the PLT/GOT processing to properly emit relocs even for symbols
in the segment/file so that they linker can resolve them for shared libraries.
2002-02-21 06:59:16 +00:00
mrg 71bd5d8f3c make this build cross by not splitting NATDEPFILES across a line with a
line continuation char (\)...
2002-02-21 03:24:50 +00:00
matt ffefe31a4b When calling weak or global symbols in the same segment, make sure to use
RELAX encoding what can be transmorgified into a PLT reloc.
2002-02-21 00:18:43 +00:00
matt 1bb7ff7e99 Don't emit GOT slots for local symbols since the VAX can always refer to
via PC relative addressing.
2002-02-20 18:52:23 +00:00
matt e9ecffcaf2 When emitting a GOT reloc, use the frag symbol since we want the
external name, not where it lives in this object (which would happen
in the symbol was defined locally).  All, don't use offset but addnumber.
2002-02-20 18:50:40 +00:00
matt 9fcb3b5a86 If the symbol is weak or external and this is a PCREL reference,
generate a fragment instead of fixup.  This allows us to convert
to a GOT or PLT reference which can be resolved externally.
2002-02-20 08:12:43 +00:00
matt 1927769e7a Don't use PCC_STATIC_STRUCT_RETURN.
Use movab/pushab when moving LABEL_REFs.
2002-02-20 03:06:37 +00:00
thorpej 7efea97070 Make sure that non-symbolic GOT references are converted back to
PC32 relocs for -Bstatic or -Bsymbolic links.

From Matt Thomas.
2002-02-19 06:16:35 +00:00
thorpej b56d2fc557 Add support for ELF core files. 2002-02-19 05:05:09 +00:00
thorpej a962d1ba86 Do not -Dunix or -Darm, as they are namespace-invasive, and cause
variants of those CPP symbols to be defined that are contrary to
NetBSD's conventions.

Fixes building Xaw on ARM ELF.
2002-02-12 16:32:39 +00:00
thorpej 1be69ad723 Fix typos in CC1_SPEC: -no-mindirect -> -mno-indirect 2002-02-11 00:02:12 +00:00
mrg e694f74c6e pull across kcore_fetch_registers() from gnu/dist/gdb/sparcnbsd-nat.c, and
add kcore-nbsd.c to NATDEPFILES in nbsd{,elf}.mh.  regen defs.mk and init.c.

pity kcore-nbsd.c isn't in the FSF tree yet...
2002-02-10 01:32:56 +00:00
chs dcee4d2ab2 bring forward a change from the old gdb:
Define IN_SIGTRAMP() as nbsd_in_sigtramp(), a new function which knows
how to find the address of the signal trampoline at runtime, thus allowing
one gdb binary to work on all NetBSD/m68k machines.
2002-02-09 19:37:38 +00:00
tv 355d5a06c1 Restore rev. 1.2 (revert reversion). Fixes recent cc1obj bomb. 2002-01-30 15:16:06 +00:00
thorpej 1e51e492fd Sync NetBSD piece with gcc-current. 2002-01-29 18:52:09 +00:00
tv c2f713900d Revert previous; please don't regen .y output using BSD yacc for a file that
should be run through Bison.
2002-01-29 08:12:10 +00:00
thorpej 89458c3940 * Clean up XFmode avoidance.
* If avoiding XFmode, force REAL_ARITHMETIC anyway (which will use
  the software FP emulation).
2002-01-29 01:02:06 +00:00
thorpej 7cf69379df Don't try using XFmode on the 68010. XXX We'd like to make this
determination at compiler run-time, but we can't do that right now.
2002-01-28 22:50:06 +00:00
thorpej 74474e4e91 Patch posted to binutils@sources.redhat.com by Matt Fredette
(should make it into stock binutils as soon as Matt's copyright
assignment paperwork is finalized):

bfd:
	* elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
	EF_M68000.

binutils:
	* readelf.c (get_machine_flags): Recognize EF_M68000.

gas:
	* config/tc-m68k.c (md_show_usage): No longer display a
	hard-coded "68020" for the default CPU, instead display the
	canonical name of the true, configured default CPU.
	(m68k_elf_final_processing): Mark objects for sub-68020
	CPUs with the new EF_M68000 flag.

include/elf:
	* m68k.h (EF_M68000): Define.
2002-01-28 21:39:07 +00:00
thorpej f3121769a7 Add support for m68010-*-netbsdelf* using the existing m68k/netbsd-elf
configuration.
2002-01-28 21:10:51 +00:00
thorpej 872ed866f5 Set the machine architecture in the bfd structure before
parsing the program headers.
2002-01-27 20:12:09 +00:00
thorpej bc7317ef89 Slightly simplified version of a patch I just submitted to the
master binutils sources that fix gprof for LP64 platforms and
also fix some problems with cross-gprof:

        * TODO: Remove "host architecture pointer size" item.
        * gmon.h (GMON_HDRSIZE_BSD44_32): Define.
        (GMON_HDRSIZE_BSD44_64): Ditto.
        (GMON_HDRSIZE_OLDBSD_32): Ditto.
        (GMON_HDRSIZE_OLDBSD_64): Ditto.
        (struct raw_phdr): Wrap in #if 0, keeping it for
        documentation purposes only.
        (struct old_raw_phdr): Likewise.
        (struct raw_arc): Likewise.  Change type/size of
        "count" member to long match 4.4BSD.
        * gmon_io: Update copyright years.
        (gmon_io_read_64): New function.
        (gmon_io_read_vma): Use bfd_arch_bits_per_address to
        determine target pointer size.  Use gmon_io_read_32
        and gmon_io_read_64.
        (gmon_io_write_64): New function.
        (gmon_io_write_vma): Use bfd_arch_bits_per_address to
        determine target pointer size.  Use gmon_io_write_32
        and gmon_io_write_64.
        (get_vma): Remove.
        (put_vma): Ditto.
        (gmon_read_raw_arc): New function.
        (gmon_write_raw_arc): New function.
        (gmon_out_read): Do not use struct raw_phdr or
        struct old_raw_phdr to read the gmon header.  Use
        gmon_read_raw_arc to read call graph records.
        (gmon_out_write): Do not use struct raw_phdr or
        struct old_raw_phdr to write the gmon header.  Use
        gmon_write_raw_arc to write call graph records.

This makes the GMON_PTR_SIZE constant obsolete, however I have not
included the changes to the autoconf machinery that eliminate that
constant completely in order to minimize the changes here (they
will be picked up when we import Binutils 2.12 when it is released).
2002-01-26 23:57:59 +00:00
mrg f2f685f22a * pull across fixes for PSIM from gdb-current on NetBSD:
2001-03-04  Andrew Cagney  <ac131313@redhat.com>
	* emul_netbsd.c [WITH_NetBSD_HOST]: Include <sys/mount.h> and
	<errno.h>.
	(do_stat): Only do SYS test when SYS_stat defined.
	(do_sigprocmask): Ditto for SYS_sigprocmask.
	(do_fstat): Ditto for SYS_fstat.
	(do_getdirentries): Ditto for SYS_getdirentries.
	(do_lstat): Ditto for SYS_lstat.

	2001-01-15  Geoffrey Keating  <geoffk@redhat.com>
	* emul_netbsd.c (do_open): Translate the flag parameter to the
	open syscall to the numbers supported by the host.

* part of port-powerpc/14307

	2001-10-19  Andrew Cagney  <ac131313@redhat.com>
	* configure.in: When Linux or NetBSD, enable PowerPC simulator.
	* configure: Re-generate.
2002-01-22 12:28:49 +00:00
mrg 858c824a54 * part of port-powerpc/14307: add psim support for nbsd & linux powerpc
gdb targets.

	2001-10-18  Andrew Cagney  <ac131313@redhat.com>
	* config/powerpc/nbsd.mt (SIM_OBS, SIM): Define.
	* config/powerpc/linux.mt (SIM, SIM_OBS): Ditto
2002-01-22 12:25:56 +00:00
thorpej 3ef3a0aa2f Be a little more careful when calling _mcount() (to prevent
clobbering $27).
2002-01-22 02:09:39 +00:00
tv 0d0a440269 Kill this directory so that it's more amenable to a case insensitive fs. 2002-01-21 20:50:13 +00:00
thorpej 2667ee3c74 Fix handling of FP registers. 2002-01-18 22:00:11 +00:00
thorpej 6c608f3110 When removing a single-step breakpoint, fix-up the PC, since GDB does
not do for us in this case.

This fixes all sorts of random lossage with the new Alpha GDB, which,
as far as I can tell, works just fine now.
2002-01-18 06:15:32 +00:00
thorpej 47193736cf NetBSD does not mark the outermost frame, so define FRAME_CHAIN_VALID
to func_frame_chain_valid() so that the traceback will stop at the
entry point.
2002-01-18 04:30:54 +00:00
thorpej 7be6f45635 Comment out token after #endif. 2002-01-18 04:15:02 +00:00
thorpej 5903d82b00 Pretty-print the machine-dependent NetBSD ELF core note types. 2002-01-09 05:02:44 +00:00
thorpej 3699fe0e3a Add support for printing of NetBSD ELF core file note types. 2002-01-09 04:46:31 +00:00
wdk f401e7e08b getopt_long option list was incorrect. Apply rev 1.20 diffs from
binutils-current respository.

    2001-06-24  H.J. Lu  <hjl@gnu.org>
        * objcopy.c (strip_main): Revert the change made on 2001-05-30
        by accident.
        (copy_main): Apply the the change made to strip_main on
        2001-05-30 by accident.

strip now passes the argument list as documented.
2002-01-08 06:58:32 +00:00
wiz 6041ec37c2 then -> than.
Diffs already sent back to binutils maintainers.
2002-01-07 14:54:09 +00:00
thorpej 92aa2889ec Use mips* rather than mipsel* or mipseb* to set gdb_host_cpu. From
gdb-current.
2002-01-04 21:45:54 +00:00
thorpej 1e7aef64f9 Set gdb_host_cpu to "mips" if mipsel. 2002-01-04 18:41:42 +00:00
thorpej 65b12946ac Overhaul, and add support for ELF core files. 2002-01-04 06:19:31 +00:00
thorpej 6c4e00eadf Apply the patch from:
http://gcc.gnu.org/ml/gcc-patches/2000-06/msg00389.html

ChangeLog for this change (which was never committed to the master
GCC sources; the bug still exists in GCC 3.x!):

2000-05-09  Ethan Solomita  ethan@cs.columbia.edu

	* config/mips/mips.h (FUNCTION_PROFILER): Deal with
	the case where jal is expanded as a macro.

This is done by removing the .reorder/.noreorder, and moving the
call to _mcount to after the stack adjust, thereby letting the
assembler deal with the delay slot, etc.

This fixes profiling with libraries built -mabicalls (default on
NetBSD).

I can't believe how long this problem has been discussed-but-not-fixed
on the GCC mailing list...
2002-01-04 05:29:39 +00:00
tv f14c689431 Fix %{p*:} botch, as described in toolchain/15024. (What specs need is an
if/then/else type construct....)
2001-12-29 20:24:37 +00:00
matt 46cf0c1543 Incorporate some gcc3.0 vax.md changes 2001-12-24 01:56:55 +00:00
matt c9073b0a26 Expand VAX ELF relocs into new style (with comments). Nuke OSABI shit. 2001-12-24 01:55:32 +00:00
thorpej f7fd432381 Fixes to alpha_next_pc() (for software single-step):
* jump-format jumps: the target is in RB, so use the RB bits in
  the insn, not the RA bits.
* branch-format displacements are 21 bits; extract all of them, and
  sign-extend correctly.
* For conditional branches, we need to determine whether or not
  the branch is actually taken.
2001-12-21 07:58:47 +00:00
matt fb5f3f3500 Minimal changes/files to get gdb for vax building under the new toolchain. 2001-12-21 06:36:10 +00:00
thorpej 4644cdb471 Implement software single stepping, and enable it for NetBSD/alpha. 2001-12-21 02:57:38 +00:00
thorpej 011356e8eb Major overhaul, plus support ELF core files. 2001-12-21 01:57:06 +00:00
scw 568cb5d556 Revert the last change following yesterday's commit to ../netbsd.h
(Hi Jason!)
2001-12-20 18:14:35 +00:00
rearnsha 2bc7fae481 Avoid generating code sequences that might cause alignment faults. 2001-12-20 00:50:27 +00:00
thorpej c3af5af42b Redo previous differently: Put the ASM_DECLARE_OBJECT_NAME
and ASM_FINISH_DECLARE_OBJECT macros in <alpha/netbsd.h>,
and remove ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_OBJECT_NAME,
ASM_FINISH_DECLARE_OBJECT, and ASM_DECLARE_FUNCTION_SIZE from
<netbsd.h>.
2001-12-20 00:18:01 +00:00
thorpej 19241b97b5 Recent change to <netbsd.h> broke ASM_DECLARE_FUNCTION_NAME. Re-define
it here to what it should be.
2001-12-19 23:30:53 +00:00
rearnsha 0e644c95f7 Implement ATPCS stack-alignment rules, and enable on arm-netbsdelf
configuration.
2001-12-19 23:14:50 +00:00
tv 0a1ba8ecaa When NETBSD_NATIVE, use the appropriate version of libgcc for the compile
mode:  libgcc_pic.a for -shared, and libgcc_p.a for -p[g].
2001-12-19 21:38:24 +00:00
tv a3aeedcdb7 Tag all version strings with "nb1" to make FSF/binutils/gcc/gdb people
happy.  (This flags the version as deviating from the official FSF
distribution inside the NetBSD source tree.)
2001-12-19 21:32:49 +00:00
scw 37f114189c G/C some #define's which are already in ../netbsd.h.
Gets libgcc compiling again.
2001-12-19 18:14:20 +00:00
thorpej 06811a827d Go back to the nop/unop pattern, and pick up rev. 1.35 from the
master FSF sources (rth):

	* config/tc-alpha.c (alpha_handle_align): Encode unop with RB as $sp.
2001-12-18 00:33:35 +00:00
thorpej cc4beed398 From the master FSF sources, rev. 1.7 (rth):
* alpha-opc.c (unop): Encode with RB as $sp.
2001-12-18 00:31:52 +00:00
thorpej c7af981281 Make a note about what "nop" and "unop" actually are. 2001-12-17 01:51:44 +00:00
thorpej e93b1005a7 Apply rev 1.4 of gnu/dist/gcc/config/sh/sh.h:
fix REGISTER_MOVE_COST bug (gcc original rev. 1.43):

> *sh.h (REGISTER_MOVE_COST): Change PR_REG to PR_REGS
2001-12-16 18:56:45 +00:00
thorpej 3274936f9b Apply rev 1.3 of gnu/dist/gcc/config/sh/sh.h (fix ASM_OUTPUT_REG_PUSH
and ASM_OUTPUT_REG_POP):

fix two bugs:
	- cc1 dumps core when "-pg" is used
	- gas produces a syntax error
2001-12-16 18:54:10 +00:00
thorpej d63c80c2c6 Apply rev. 1.2 of gnu/dist/gcc/config/sh/sh.h:
set DWARF_LINE_MIN_INSTR_LENGTH to 2 because the length of instruction
is fixed to 16bits.
2001-12-16 18:50:16 +00:00
thorpej c8a285e813 Apply rev. 1.7 of gnu/dist/config/sh/sh.c:
apply gcc original rev. 1.59:

 > * config/sh/sh.c (prepare_scc_operands): Apply force_reg to
 > sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't
 > const0_rtx.
2001-12-16 18:47:47 +00:00
thorpej ff7287ad08 Apply change from rev 1.5 of gnu/dist/gcc/config/sh.c:
fix output_ieee_ccmpeq() bug:

- 2nd argument is not rtx but rtx *
- return value of output_ieee_ccmpeq is not void but char *
2001-12-16 18:38:19 +00:00
scw f87b859f0d After a discussion with Richard Henderson (rth at redhat dot com), add
the patch I posted to tech-toolchain@netbsd.org as a workaround for the
GOT bug whereby the callee-saved register %a5 can be trashed in certain
optimised -fPIC functions.

This may yet need to be fixed a different way, pending input from
Andreas Schwab on his change in revison 1.33 of this file in the
FSF source...

In the meantime, I've built and installed several NetBSD shared libraries
(including libc) with my change and found no problems.
2001-12-16 18:28:15 +00:00
thorpej 037cacf7e2 Define __NO_LEADING_UNDERSCORES__, since this sh-elf toolchain doesn't
use them.
2001-12-16 18:09:46 +00:00
thorpej 75acdbe31a Undo a local change inherited from our local binutils 2.9 that
is not needed in binutils 2.11.
2001-12-16 17:50:56 +00:00
thorpej f6e3c2a3da Make this compile. Still needs work. 2001-12-16 07:26:22 +00:00
thorpej 583334b6ca Avoid infinite #include recursion. 2001-12-16 07:19:42 +00:00
thorpej c17876b1d2 Use the elf64alpha_nbsd linker emulation. 2001-12-16 04:26:17 +00:00
thorpej 7a362db4f3 After discussing the entry point issue w/ rth@redhat.com, add an
elf64alpha_nbsd linker emulation that sets the entry point correctly
for NetBSD.
2001-12-16 04:06:51 +00:00
thorpej e3e5021be2 We need the versions of ASM_DECLARE_FUNCTION_NAME and
ASM_DECLARE_FUNCTION_SIZE from <alpha/alpha.h>, but <netbsd.h>
re-defines them.  So, re-define them again here to what
we need.
2001-12-16 04:02:48 +00:00
thorpej 72a263b8f7 Catch up with other Alpha-ELF changes. This will get cleaned up
even more somtime soon.
2001-12-16 03:09:19 +00:00
thorpej 80ed7d6a42 Clean up a bunch of the ELF support (looks like there was some sort
of merge error), and make the function/object type/size macros work
with the Alpha.
2001-12-16 03:07:59 +00:00
thorpej 85d454e712 Reset ENTRY to __start (this was changed to _start in rev 1.5
of this file in the master FSF sources; I obviously disagree
with the change, since it was apparently made to appease one
particular OS, even though previous binutils releases had been
made with ENTRY=__start, and have brought it up on
binutils@sources.redhat.com).
2001-12-15 17:55:39 +00:00
thorpej f589c8c881 Make sure SET_ASM_OP is undefined; the Alpha assembler uses .set
for assembler options.
2001-12-15 16:49:57 +00:00
thorpej 6ed87749ed Add support for building sh-*-netbsdelf (elf32-sh-big) and
shle-*-netbsdelf (elf32-sh-little).
2001-12-15 02:18:24 +00:00
thorpej 2e065d7d6f Revert previous after further discussion w/ Todd. 2001-12-14 16:54:08 +00:00
thorpej 8937074afd Add an alpha*-*-netbsd* target. 2001-12-14 06:52:06 +00:00
thorpej 7482fd8b1e Remove the case that excludes gdb from alpha-*-netbsd*. 2001-12-14 06:51:08 +00:00
thorpej 6464462736 Remove the code that supports the old PLT format (the code for that
is not present in the master FSF version of this file).
2001-12-14 01:15:08 +00:00
thorpej 7a3fcb2adf Convert unaligned relocs to aligned relocs if they happen to be
aligned.  Corresponds to part of rev 1.21 of this file in the
master FSF sources.

Thanks to Michael Rauch <mrauch@netbsd.org> for fishing out the patch.
2001-12-13 00:21:57 +00:00
thorpej d043d0d483 Revert previous, as was done so in the master FSF sources. The
original problem will be fixed in a forthcoming commit.
2001-12-13 00:18:50 +00:00
thorpej e787c227a0 New NetBSD/sparc GDB native dependent module, cloned from the new
sp64nbsd-nat.c.  (new-toolchain was using the SunOS 4 native module!)
2001-12-11 04:03:55 +00:00
thorpej cef2225213 Correct a warning message. 2001-12-11 03:59:52 +00:00
thorpej 02be0ec37b * Massive overhaul, including sharing the code that supplies registers
with both the inferior and core targets.
* Add support for ELF core files.

Similar changes for 32-bit sparc forthcoming.
2001-12-10 22:43:34 +00:00
thorpej 09c0648a6e Fix a typo in fetch_core_registers() which caused the integer regs
to get scribbled over.
2001-12-10 17:52:51 +00:00
thorpej ef3e78deb9 * Clean up the way registers are supplied to the debugger proper.
* Add support for ELF core files.
2001-12-09 23:30:58 +00:00
thorpej 58b0ec8af6 * Clean up the way registers are provided to the debugger proper.
* Add support for ELF core files.
2001-12-09 23:29:47 +00:00
thorpej ecd90c39d1 Add support for ELF core files. 2001-12-09 23:26:51 +00:00
thorpej 24ae1eda13 Add support for NetBSD-style ELF core file notes. 2001-12-09 23:24:34 +00:00
thorpej e40269dc73 Define HAVE_SSE_REGS. 2001-12-08 07:34:40 +00:00
scw 56e14dc08b Add a fetch_kcore_registers() function.
Pasted from our m68k's gdb.old source.

Fixes an m68k new-toolchain build problem initially reported by
Americ Vincent on tech-toolchain.
2001-12-07 22:12:29 +00:00
jmc 8e9f3cf335 Account for possible alignment space before the exception table pointer when
dealing with the "eh" frames
2001-12-07 02:41:13 +00:00
jmc 39faa9cf1e Make sure the reloc for __EXCEPTION_TABLE__ in the "eh" exception frames is
fully aligned for the given arch. The sparc64 ld can't handle unaligned
relocs.
2001-12-07 02:40:36 +00:00
fredette 3ec17be693 Applied a strength-reduction patch from gcc-current. The patch
is in their revision 1.186, from schwab@suse.de, and said:

  Don't call reg_used_between_p if the insn from BL2 is after
  the insn from BL.

This fixes a cc1 SEGV on sys/dev/scsipi/ch.c rev 1.48 under -O2 or -Os,
seen on m68k and vax.
2001-12-06 18:50:34 +00:00
rafal b28234c5b3 Catch up to the thorpe-o-tiller:
| Move solib.o from TDEPFILES to NATDEPFILES (solib.c requires target
| headers, namely <link_elf.h>).
|
| Fixes build of cross-gdb.
2001-12-06 12:31:16 +00:00
thorpej 4cac6e8609 * Overhaul:
* move the code that supplies the integer and FP registers into
    separate functions, rather than duplicating the code for the
    ptrace and core file cases.
  * Use supply_register() rather than just copying directly into
    the register array and calling registers_fetched().  This way,
    only the registers actually supplied are marked as valid within
    the debugger.
* Add support for SSE/SSE2 registers via the PT_{GET,SET}XMMREGS
  ptrace(2) request.

(Blocked on the FSF assignment clerk for feeding this back to
the master GDB sources.)
2001-12-06 02:07:03 +00:00
rafal 7919399e4a Since gprof builds on mips platforms happily, add a mips*-*-netbsd* case
that doesn't add it to noconfigdirs.
2001-12-05 05:56:57 +00:00
rafal 49df24a942 Add MIPS (both target and host) support to the NEW_TOOLCHAIN GDB, based on
the 4.17 NetBSD support from our tree.  Original port by Chris Sekiya, with
minimal tweaks and cleanups by me (mainly: build bi-endian by default, add
NetBSD kcore support back).
2001-12-05 05:31:44 +00:00
jmc dad5e6ef6d Add ${CONFIG_SHELL-/bin/sh} in front of all calls to $ac_config_sub.
Makes sure things don't break when execute permission doesn't exist
2001-12-02 04:52:41 +00:00
jmc e134e4e037 Add sh in front of all calls to move-if-change as it might no have execute
permission turned on
2001-12-02 04:10:11 +00:00
thorpej 20241f1e3d Add ser-tcp.o to XDEPFILES so that "target remote host:port" works,
like GDB on other NetBSD hosts.
2001-11-29 08:24:21 +00:00
thorpej 5715014189 Move solib.o from TDEPFILES to NATDEPFILES (solib.c requires target
headers, namely <link_elf.h>).

Fixes build of cross-gdb.
2001-11-29 08:23:26 +00:00
thorpej 3de3b8c207 - Split some target-dependent stuff for i386-netbsd out of i386nbsd-nat.c
and place it in i386nbsd-tdep.c (new file).
- Move solib.o from TDEPFILES to NATDEPFILES (solib.c requires target
  headers, namely <link_elf.h>).

Fixes build of cross-gdb pointed at i386--netbsd target.
2001-11-29 08:21:48 +00:00
thorpej 87bbb48244 Put solib.o back in NATDEPFILES; gdb really drives me crazy sometimes. 2001-11-23 22:08:20 +00:00
thorpej 06cf8784f0 Add _initialize_armnbsd_nat(), which registers our core file
handlers.  Whee, can fetch registers from core files now.
2001-11-20 02:58:31 +00:00
thorpej 4a4183056d Back out part of previous; needs more thought as to what to do
wrt. 26 vs 32 bit for kcore.
2001-11-20 02:41:14 +00:00
thorpej 5bf7d42e9c Move solib.o to TDEPFILES. Add kcore-nbsd.o to NATDEPFILES, -lkvm
to NAT_CLIBS.
2001-11-19 22:17:42 +00:00
tv f8e299ca7c Merge alpha support from src/gnu/dist. Doesn't necessarily build or work
yet, but enough to get "configure" working at this stage.
2001-11-16 15:58:47 +00:00
tv 811d7372d5 Add a gdb_host=nbsd line for alpha hosts. 2001-11-16 15:55:39 +00:00
bjh21 868c7b3592 sim works for ARM targets again now (since sim/arm/Makefile.in 1.2). 2001-11-16 14:42:19 +00:00
bjh21 a25491ad73 Don't use $< in non-implicit rules. Instead, name the source explicitly.
This should help with PR 14588, and has been submitted upstream.
2001-11-15 15:21:53 +00:00
tv 9f77222197 Move noconfigdirs=gdb for alpha from host to target block.
Set noconfigdirs=sim for ARM NetBSD targets; the ARM sim isn't building.
2001-11-15 01:00:12 +00:00
tv b24bb409e3 Put solib support in native files, as gdb build will bomb on cross otherwise.
Put longjmp target function in the native .h, since it only works natively.
2001-11-15 00:58:29 +00:00
bjh21 7bdb61e034 Fix from Richard Earnshaw to make MASK_RETURN_ADDR work on both 26-bit and
32-bit ARMs, switching at run time.
2001-11-08 20:47:56 +00:00