Commit Graph

208 Commits

Author SHA1 Message Date
tv
3a73dea4e5 No, NetBSD doesn't have <syms.h> either; add us to the very long
#if !defined... line.
2001-05-30 20:34:53 +00:00
tv
a9cd1d161e Make sparc-netbsdelf and powerpc-netbsd targets work. 2001-05-30 18:47:24 +00:00
tv
ab63d93530 Update i386 support; native and cross now works properly with an i386 target. 2001-05-30 09:05:09 +00:00
tv
808a6f169b Merge from gnu/dist/gcc [christos]:
In the NO_UNDERSCORES case we need an extra `*' in ASM_GENERATE_INTERNAL_LABEL
otherwise using the macro in dbxout.c, eats the initial `.'. Probably someone
forgot that one, because the `*' is present in other implementations.
2001-05-30 09:04:13 +00:00
tv
32ed83ebd0 Major overhaul of target/host file handling for NetBSD. Make this uniform,
with a basic NetBSD template and some specific platform overrides.  This
also results in dropping most of the "xm-netbsd.h" and "t-netbsd" files.
2001-05-30 09:02:42 +00:00
matt
cf2c5819fa More bug fixes. -fpic now produces significantly better code than
-fno-pic.  Make the pic'ifying simpler.
2001-05-09 15:04:48 +00:00
matt
7ad2f6a918 A small change elfos.h for VAX ELF. configure* need to about
{vax,arm*}--netbsdelf*.  ARM ELF changes for NetBSD (from bjh).
2001-05-03 18:20:46 +00:00
matt
26f751e159 Fix 3 problem. Be more stringest in testing register for use. Fix ffs
builtin.  Fix addsi2 pattern.
2001-05-03 17:12:52 +00:00
matt
f365cec4fe fix the ffs builtin. 2001-05-01 00:54:52 +00:00
matt
6becddcc57 Fix two code generation problems. The first is to fix how negative const
int values are added in DI (if the the constant is <0 & > -2*1024*1024 then
use a decl/subl and sbwc $0 instead of addl/adwc).  The second fix is to
disallow register elimination peepholes when that register is used by
other operands in the other instructions in the peephole.
2001-04-30 06:19:58 +00:00
tv
dbfa9a0b9b Resolve conflicts from gcc 2.95.3 import. 2001-04-23 12:23:26 +00:00
tv
f54fbfcb75 Import gcc 2.95.3. 2001-04-23 11:57:48 +00:00
mrg
7fc33b5fc8 pull across a few changes from gcc-current for sparc64:
1999/08/02  Jakub Jelinek  <jj@ultra.linux.cz>
	* config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): New macro.
	(RTX_OK_FOR_OLO10): Likewise.
	(GO_IF_LEGITIMATE_ADDRESS): If assembler supports offsetable
	%lo(), allow it in addresses...
	(PRINT_OPERAND_ADDRESS): ... and print it appropriately.
	* config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): sethi %lo()
	does not make sense.
	* config/sparc/sparc.c (sparc_hard_reg_printed): New array.
	(sparc_output_scratch_registers): New function.
	(output_function_prologue, sparc_flat_output_function_prologue): Use
	it.
	* varasm.c (make_decl_rtl): Use ASM_DECLARE_REGISTER_GLOBAL if
	defined.
	* tm.texi (ASM_DECLARE_REGISTER_GLOBAL): Document it.

	1999/07/30  Jakub Jelinek  <jj@ultra.linux.cz>
	* config/sparc/sparc.md (cmp_mul_set, cmp_udiv_cc_set):
	Fix patterns so that they actually match.
	(cmp_sdiv_cc_set): Ditto, also don't require g0 to be zero.
	(mulsidi3_sp64, const_mulsidi3_sp64): New patterns.
	(const_mulsidi3_sp32): Renamed from const_mulsidi3, only on
	TARGET_HARD_MUL32.
	(mulsidi3): Reflect this in the expand.
	(smulsi3_highpart): Only on TARGET_ARCH32.
	(umulsidi3_sp64, const_umulsidi3_sp64): New patterns.
	(const_umulsidi3_sp32): Renamed from const_umulsidi3.
	(umulsidi3): Reflect this in the expand.
	(umulsi3_highpart): Only on TARGET_ARCH32.
	(divsi3_sp32): Renamed from divsi3, only on TARGET_ARCH32,
	don't require g0 to be zero.
	(udivsi3_sp32): Renamed from udivsi3, only on TARGET_ARCH32.
	({,u}divsi3): New expands.
	({,u}divsi3_sp64): New patterns.
	(after lshrdi3_v8plus): Four new patterns to help combiner
	optimizing nested mixed mode shifts.
2001-03-06 05:21:47 +00:00
mrg
a37de8f33c pull across a patch from gcc-current, that allows "cc -m32 -pg" to work.
1999-12-14  Jakub Jelinek  <jakub@redhat.com>
	* config/sparc/sparc.c (sparc_override_options): Allow block
	profiling with -m32.
2001-03-03 08:14:06 +00:00
tv
0ea3d2ad44 Rather than hacking it with __NetBSD__, leverage ld --traditional-format to
flag the old elf64-alpha PLT format (in use by NetBSD/alpha ld.elf_so).
2001-02-09 17:23:46 +00:00
tv
515bd1397b This xmakefile is unneeded. 2001-02-03 04:37:17 +00:00
tv
fc00f26810 Clean up and add comments.
Draw from t-freebsd: Don't use the ginclude "override" headers; the ones
that come with NetBSD are already complete enough for gcc.
2001-02-03 04:26:06 +00:00
tv
99643b940c Undo utter braindamage regarding i*86-*-netbsdelf (config.guess exists for
this purpose!), and undo the spewage from using autoconf to regen the
"configure" file.
2001-01-31 20:18:40 +00:00
tv
b640d66262 Merge from gnu/dist:
Make the null printf format string warning enabled only if -pedantic is
supplied.  This allows printf format attributes on err/warn.  A fix to handle
this properly is in the works for the next major gcc release.
2001-01-31 19:58:32 +00:00
tv
4ee5340670 Accept -Wno-format-extra-args as a compatibility no-op until the next gcc
release (which handles this situation more cleanly).
2001-01-31 19:56:28 +00:00
tv
8f90d7b078 Remove the "too many arguments for format" warning until the next major
release of gcc, which handles this more cleanly.
2001-01-31 19:55:23 +00:00
tv
daa1fb34df Accept -Wno-format-y2k as a no-op, pending the next gcc version (which
handles strftime y2k warnings more cleanly).
2001-01-31 19:52:09 +00:00
tv
7b53faae31 Completely nuke the strftime warnings for y2k. These are handled more
cleanly in the next version of gcc, and aren't critical to keep.
2001-01-31 19:50:16 +00:00
tv
ec2f0083f2 Merge from gnu/dist:
This is also called "f77" and "fort77".
2001-01-31 15:26:42 +00:00
tv
718eabbba3 Merge from gnu/dist:
Accept %F in strftime format checking.
2001-01-31 15:18:32 +00:00
tv
402b9b56e1 va_list is "char *" on NetBSD's sparc64; conditionalize this, as the old
case was to use "void *" on __arch64__ being predefined.
2001-01-30 22:36:39 +00:00
tv
f17240abbc The sparc include file is now sparc/netbsd-elf.h, not sparc/netbsdelf.h. 2001-01-30 22:09:01 +00:00
matt
cb70721fea Improve some of the DImode support. Add/improve a bunch more peepholes.
Generate smaller/faster code in general.
2001-01-02 04:33:40 +00:00
matt
647505be57 Fix/optimize a few DImode moves. 2000-12-30 07:35:13 +00:00
matt
83d1ef55c4 Fix/reorder CONST_OK_FOR_LETTER for better optimization. 2000-12-30 07:33:43 +00:00
matt
5b5b167396 Eliminate things that moved to netbsd.h 2000-12-29 22:06:04 +00:00
matt
1fb988a3ee Massive changes to include PIC support including a mostly revamp machine
description.
2000-12-29 21:34:11 +00:00
matt
78172bb22d This now works for a.out using no-pic. Eg. back to where I started from. 2000-12-29 03:40:27 +00:00
matt
2b22fba4b0 Pick up a change from gcc-current. For those targets without call or
call_value, use call_pop and call_value_pop.  (this is needed for vax)
2000-12-29 03:39:14 +00:00
matt
d1ff29768d Add a few more cases to print_operand_address (and be more helpful on aborts). 2000-12-28 05:29:25 +00:00
matt
c30c93b03c Add legitimize_pic_address and the netbsd-elf.h for ELF support. 2000-12-22 16:48:36 +00:00
matt
5b49016829 Add half-pic mode. Default to half-pic mode. 2000-12-22 16:37:37 +00:00
matt
4241925fa2 More merging. Move GO_IF_LEGITIMATE_ADDRESS stuff into vax.c from vax.h.
Extend it to properly deal with indirect and indexed addressing modes.
Add preliminary PIC support.
2000-12-22 06:16:45 +00:00
matt
a9c4c35371 Merge in 1st layer of ELF differences. This is a just a cleanup. No ELF
specific changes.
2000-12-22 04:59:35 +00:00
mrg
77b1d2266f #include <elfos.h> only for i386 compiler for now -- it causes lossage
in other ports and is required only there (for now).
2000-10-29 12:21:14 +00:00
mrg
9b051e142a restore the contents of this file so that the g77 texi builds. 2000-10-26 03:59:28 +00:00
mycroft
fa3aaf6d8b Modify LIB_SPEC and LIBGCC_SPEC so that -lc and -lgcc are not included when
-shared or -symbolic (as on other platforms).  Also, override LIBGCC_SPEC for
all platforms (where it would incorrectly include the .a file explicitly on
some).
This should fix Mozilla on macppc.
2000-10-23 13:19:35 +00:00
mrg
4da440af9a make this work for i386-netbsdelf. most of this work is based on patches
from thorpej that includes a rewrite of the config/i386/netbsd-elf.h file.
2000-09-14 03:56:04 +00:00
mrg
0dc7000eaa - define SPARC_BI_ARCH
- move CPP_PREDEFINES to netbsd-elf-common.h
- define CPP_SUBTARGET_SPEC to -D__sparc64__
- copy and modify many SPARC_BI_ARCH `specs' from <sparc/sol2-sld-64.h>.
  these currently look for 32 bit things in /emul/netbsd32, but this is
  temporary


with these changes, i can succesfully build working 32 bit binaries on
a 64 bit system, as long as libgcc, *crt*.o and necessary libraries
exist under /emul/netbsd32.
2000-08-31 14:14:32 +00:00
mrg
e486a9a452 - move CPP_PREDEFINES to netbsd-elf-common.h
- define CPP_SUBTARGET_SPEC to "-D__sparc", preserving old CPP_PREDEFINES
  semantics.
2000-08-31 14:10:09 +00:00
mrg
1148c9223a - add missing %(asm_arch) to ASM_SPEC
- merge <netbsd.h> & <sparc/sparc.h> CPP_SPEC's.
- move CPP_PREDEFINES here from the 32bit/64bit configurations.
2000-08-31 14:08:02 +00:00
mrg
2d76e7037d in define_split, only check "reload_completed", removing the bogus 64-bit
and FPU checks that caused compile failures for no good reason.
from: <root@ihack.net>
2000-08-18 15:45:28 +00:00
tv
a516c80d78 Add a hack to force HOST_WIDE_INT to "long long" if the target is alpha or
sparc64 and the host is using gcc.
2000-08-18 12:56:30 +00:00
mrg
80e98bec22 pull across a patch from gcc-current that fixes ~90% of the sparc64 compile
problems:

        * emit-rtl.c (operand_subword): Support TFmode on a 64-bit target.
2000-08-17 04:01:30 +00:00
mrg
9ee127a42c back out previous, and do it properly:
copy the ASM_OUTPUT_CONSTRUCTOR and ASM_OUTPUT_DESTRUCTOR defines from
sol2-sld-64.h.
2000-08-11 03:31:41 +00:00
mrg
239844c32c if TARGET_CPU_DEFAULT is TARGET_CPU_v9 or TARGET_CPU_ultrasparc, define
ASM_LONG to be ".xword".  this makes C++ global ctors and dtors work
on the sparc64.  noted by mycroft.
2000-08-11 03:13:32 +00:00
tv
3f6d813859 Merge change from gnu/dist/gcc/objc: don't put absolute relocs in ro-data
if compiling PIC, else RRS text relocs will be generated.
2000-08-10 21:06:50 +00:00
mrg
b6328d2c74 redefine LINK_SPEC properly. 2000-08-08 14:29:17 +00:00
mrg
491b443ab4 #define NETBSD_ELF 2000-08-08 14:28:13 +00:00
eeh
c018ba7889 Add sparc64-*-netbsd support. 2000-08-02 21:00:31 +00:00
tv
45a5f2e009 Remove conflicting definition for "make_temp_file" now found in libiberty. 2000-07-28 01:10:32 +00:00
mrg
1600ba0055 - pull across the new gcc/config/netbsd.h
- pull across the sparc-netbsdelf and sparc64-netbsd targets
2000-07-26 16:28:04 +00:00
tv
dc36174cbd Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00