Commit Graph

560 Commits

Author SHA1 Message Date
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