Commit Graph

221 Commits

Author SHA1 Message Date
tv 482063559a .y.c <sys.mk> rule fixes. Don't create a y.tab.h file unless asked for,
and use smarter creation of the header file.
1998-04-09 00:32:31 +00:00
tv aa9dc830d0 Add note that -nostdlib is passed to the linker. 1998-04-07 13:16:28 +00:00
matthias 6a93608a3d ns32k.c:
* ns32k_gen_operand is no longer needed.
* new function symbolic_reference_mentioned_p (stolen from i386).
* make print_operand dtrt when printing symbolic "constants" in picmode
  and abort for the cases that it can't handle (e.g. symbol+offset).

ns32k.h:
* Use NS32K_DISPLACEMENT_P wherever suitable.
* make LEGITIMATE_PIC_OPERAND_P dtrt to make the ns32k_gen_operand hack
  unnecessary.

ns32k.md:
* Use general_operand instead of ns32k_gen_operand everywhere.
* replace "rmn" by "g" again.
* make addsi3 dtrt for pic.

The comments in ns32k.md still need some updates.
Thank's again to Ian Dall for his help.
1998-03-30 20:21:01 +00:00
mhitch 9893e4c551 The mips port now uses /usr/libexec/ld.elf_so. 1998-03-26 02:13:18 +00:00
cgd e31461b53c use CHAR_MIN to determine if 'char' is unsigned, and conditionalize
the code in __objc_code_char() appropriately.  Thanks to
Alan Barrett <apb@iafrica.com> for providing a good way to do this.
1998-03-24 23:17:21 +00:00
matthias 6aa3cd8c81 backout "rmn" -> ns32k_gen_operand change. This needs more thought and
testing.
1998-03-24 22:47:10 +00:00
matthias 0042eeb18d gcc-ns32k mega commit compiled by Ian Dall.
This commits several enhancements done over the last years:
- adddi3 subdi3 insn definitions: Jon Buller (ns32k.md, ns32k.c)
- ffssi2 adddi3 and subdi3 bug fixes: Matthias Pfaller (ns32k.c, ns32k.md)
- movstrsi reimplimentation: Ian Dall (ns32k.c, ns32k.md, ns32k.h)
- 32381 fpu support (extra registers, multiply - add instructions):
  Ian Dall (ns32k.c, ns32k.h, ns32k.md)
- divmoddisi: (re) implimentation Ian Dall (ns32k.md)
- use predicate rather than register constraints to allow better code for
  non pic case: Ian Dall (ns32k.md, ns32k.c)
- clean up of many macros in ns32k.h: Ian Dall
1998-03-13 22:57:49 +00:00
tv 1491cb8af5 PR #4869: Make gcc frontend use proper vfork() by including <unistd.h> and
changing exit() to _exit().  Modest performance improveent, too.
1998-03-09 12:57:23 +00:00
tv e58b3726c3 PR #3606: add -nostdlib to ld's command line if -nostdlib is on cc's
command line.  This behaviour is how it's documented; it should work
that way.  Also fixes building a release tree on a -current system (which
bit me with the sparc secr set I built for pk).
1998-03-06 17:42:50 +00:00
cgd 0924c4443d Make sure the reason that NOLINT is set is documented. Additionally
in places where it should be set (or has to be set right now), do so.
1998-02-19 02:17:05 +00:00
cgd 80678449fe explicitly set NOLINT in libgcc and libobjc Makefiles. There's
nothing sensible to make lint libraries of in here.
1998-02-05 23:47:24 +00:00
drochner 57b9298f1c fix misoptimization after "ffs(x) - 1"
(as done in egcs)
1998-01-20 16:03:17 +00:00
lukem 493c7002e7 note that /var/tmp isn't the default for TMPDIR 1998-01-09 06:02:38 +00:00
veego a0d473d24a Use the same ifndef from src/gnu/usr.bin/gcc/cc/gcc.c rev 1.6 (lukem):
> don't try using P_tmpdir (from <stdio.h>, defined as "/var/tmp/" on
> NetBSD), or "/usr/tmp" for temp files - just use "/tmp".
> from ronald khoo in [bin/4224]
1998-01-06 20:11:58 +00:00
lukem 95073cdb54 don't try using P_tmpdir (from <stdio.h>, defined as "/var/tmp/" on NetBSD),
or "/usr/tmp" for temp files - just use "/tmp". from ronald khoo in [bin/4224]
1998-01-06 12:47:43 +00:00
mycroft 21816067e1 Eliminate DECL_C_STATIC() and DECL_PUBLIC(), as in egcs.
Make sure TREE_PUBLIC() is set for inline functions which are not static, so
that they actually get instantiated.
1997-12-16 09:22:28 +00:00
mikel 06c1873d83 add missing ".o"; from Brian Grayson in PR 4487 1997-12-04 09:03:18 +00:00
thorpej 3cac099fca Don't do function CSE; it tickles a bizarre bug in other parts of the
toolchain.

This is only a temporary work-around until we either fix the other toolchain
bug or switch to a different toolchain.
1997-11-04 20:59:11 +00:00
mycroft 1c81e53081 From Mike Stump, via egcs:
+ 	* stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
+ 	we are packing a structure.  This allows a structure with only
+ 	bytes to be aligned on a byte boundary and have no padding on a
+ 	m68k.
1997-11-03 12:23:14 +00:00
mycroft b5a9af9fec From Mike Stump, via egcs:
* c-decl.c (start_struct): Ensure that structs with forward
 	declarations are in fact packed when -fpack-struct is given.
1997-11-03 12:21:51 +00:00
lukem bdda42e958 use .m.o rules from <bsd.lib.mk> 1997-10-28 12:43:35 +00:00
lukem da49bfcda7 use CPPFLAGS instead of CFLAGS 1997-10-25 10:10:19 +00:00
is f2af392200 Fix PR 3123 by Robert Dick.
Gcc used to create code to create trampolines (for nested functions) for
m68k without properly flushing the caches, leading to segmentation violations
on 68040/68060 systems.
Fixed by:
- importing the gcc 2.7.2.3 trampoline creation code into arch/m68k/m68k.h
- adding the OS-specific code for this into arch/m68k/netbsd.h
These changes have been reflected in gcc2netbsd.
1997-10-24 21:25:46 +00:00
is 560b960e0d finalize Objective-C support, closing PR 4200 by Peter Simons:
- add /usr/include/objc to mtree
- set libobjc/Makefile INCSDIR=/usr/include/objc
- put to-be-installed includes to libobjc/Makefile into INCS=
- add the Objective-C source files to the appropriate lists.
- as the objc include files are installed now, no need to patch most
  of the files.
- add /usr/include/obj/* to src/distrib/comp/mi
The changes have been applied to gcc2netbsd, and this script was then used
to create the new version of the files in libobjc/.
1997-10-22 12:56:37 +00:00
mark 9ad19504c3 Fix bugs found with various levels of optimisation while implementing
PIC support for GCC/arm.
This fix is untested on platforms other than the ARM and is only enabled
if GCC_27_ARM32_PIC_SUPPORT is defined.
These fixes are only required for GCC 2.7 and will not be needed in 2.8+
1997-10-19 19:05:51 +00:00
mark df179fd1e4 Fix bug found with optimisation and -fhandle-exception while implementing
PIC support for GCC/arm.
This fix is untested on platforms other that the ARM and is only enabled
if GCC_27_ARM32_PIC_SUPPORT is defined.
1997-10-19 19:01:28 +00:00
mark baa72d9de9 Added PIC support for the ARM version of GCC 2.7.2.2 implemented by
Norm Rubin and Richard Earnshaw.
PIC support for ARM will form part of the standard GCC tree from 2.8
onwards.
Also default to building soft-float as the resulting code will be a lot
faster then using emulated floating point instructions.
1997-10-19 18:56:38 +00:00
lukem 291223920b fix make -j race condition when building libs 1997-10-18 06:21:28 +00:00
mycroft 6d66d9e789 Modify the version number so people know that this isn't their father's GCC. 1997-10-10 01:05:03 +00:00
mycroft 1e9143a549 Make sure TREE_PUBLIC() is false for static function declarations. This was
an abstraction violation, and broke compilation of libqt on the i386 port.
1997-10-10 01:00:38 +00:00
jonathan 07a2c597a0 Change GCC's INITIALIZE_TRAMPOLINE() function as submitted to Cygnus:
emit a call _cacheflush() to ensure Icache consistency
    after writing trampoline code for lexical closures onto the stack
    (i.e., into the Dcache).

GCC 2.x (x <= 7.2.2) emits a call cacehflush(), polluting the user
namespace.
1997-10-06 21:19:11 +00:00
mycroft a6c7350ef2 Import a few reload bug fixes from 2.8. 1997-10-01 02:21:39 +00:00
mycroft 49ce788d15 Import a few reload bug fixes from 2.8. 1997-10-01 02:21:33 +00:00
mycroft 9a36ae0c8f Import change from development sources to follow a REG_EQUIV for a REG in
memref_referenced_p(); otherwise there are cases where a later set that changes
the memory location may be moved too early, and thus the new value will be
(incorrectly) used where it should not be.
1997-10-01 02:12:21 +00:00
mrg 68a93585b8 update with recent change. also fix warning (and bug) from perl -w 1997-06-25 03:31:56 +00:00
kleink f271ef50c9 When `-posix' is specified, link against libposix. 1997-06-24 16:55:05 +00:00
chopps 5559da2d04 use += not =. Propogate change to gcc2netbsd 1997-06-24 12:25:57 +00:00
mrg 586ed80911 install all man pages. 1997-06-23 13:25:41 +00:00
cjs 7a66732d34 Back out BUILDDIR and NOINSTALL changes. 1997-05-31 21:21:13 +00:00
cjs 83498d7e88 Remove empty libinstall target and add NOINSTALL=1. 1997-05-30 13:43:06 +00:00
mycroft 2b799e1f99 Nuke bogus all: dependency. 1997-05-16 21:16:47 +00:00
phil a55656a0f8 Get the last place for 2.7.2.1 -> 2.7.2.2. 1997-05-16 19:28:31 +00:00
phil afce939db2 Update for changes to arch/netbsd.h. 1997-05-15 00:33:59 +00:00
phil aadf5347f8 Add STARTFILE_SPEC so -pg and -static will use the proper crt0.o, mcrt0.o
or scrt0.o.  (Fix from PR 2763.  Other parts of 2763 not needed because
lib/csu/* already makes the proper .o files for all ports except mips.)
1997-05-15 00:27:38 +00:00
phil 0c62738797 OK, OK! It is now 2.7.2.2. 1997-05-14 19:26:32 +00:00
phil 47dc8ebd2e Cleanup one patch that just changed a $Id: field. 1997-05-14 07:02:00 +00:00
phil 6b7792164b Make sure copies are 2.7.2.1 versions. 1997-05-14 06:44:20 +00:00
phil e49d2c410f Import of gcc-2.7.2.1. 1997-05-14 05:04:53 +00:00
phil ef82a6f04f Remove some unnoticed trailing garbage in a patch. 1997-05-13 21:18:24 +00:00
phil 80e042614d Update gcc2netbsd to generate the current gcc tree when given gcc-2.7.2.
Added a new patch mechanism to gcc2netbsd so changes from the FSF source
are seen in gcc2netbsd.  Sync some Makefiles to output of current gcc2netbsd.
(Cosmetic changes only to the Makefiles.)
1997-05-13 21:01:55 +00:00
mycroft cc4a1553a1 Eliminate bogus redefinitions of standard targets. 1997-05-09 07:50:03 +00:00
mycroft 093617215b Use " includes, and some other cleanup. 1997-05-09 05:07:31 +00:00
mycroft 185b24dd5b Use libinstall::, not install:, to prevent instaling LIB. 1997-05-07 16:20:26 +00:00
mycroft fd8daf980e Add .MAKE to the .OBJDIR hacks, so they work with `make -n'. 1997-05-07 07:15:34 +00:00
thorpej b2435880cc Revert previous change - It causes too many object-level incompatibilites
that violate the Principle of Least Astonishment.
1997-05-05 06:25:15 +00:00
mycroft e6492a1093 Our linker aligns the data and BSS segments to a 4-byte boundary, so
set BIGGEST_ALIGNMENT to 32 by default.
Also, change some other alignemtn constraints to improve performance.
1997-05-02 22:16:46 +00:00
mikel a4bddb19a0 more libgnumalloc.a -> ${LIBGNUMALLOC} 1997-03-27 05:13:52 +00:00
christos 0aad9d4378 Makefile cleanups 1997-03-24 22:02:40 +00:00
jonathan 7d1baa6e30 Add weak symbols on mips by defining ASM_OUTPUT_DEF (for varasm.c) in
arch/mips/netbsd.h.  Add mips/netbsd.h to the gcc2netbsd script.
1997-03-15 01:35:37 +00:00
mycroft 4a647ad6fa Pull in fix from development tree to mark the correct regs as live. 1997-03-12 06:12:27 +00:00
mycroft f525bcf594 Remove the cmpdi pattern, since the operand constraints cannot be enforced
during register spilling.  The default implementation is less optimal in some
cases, but it works.
1997-03-12 06:11:00 +00:00
mouse 412433b44c alternate -> alternative, per PR 2643 1997-03-08 13:26:20 +00:00
jonathan 76f1d1f657 Commit src/gnu/usr.bin/gcc/arch/mips/netbsd.h diffs with minimal
support for shared libraries.  Diffs from Manuel Bouyer, probably
derived from similar OpenBSD gcc diffs.

This change is in the source tree because it was used to build a NetBSD/pmax
shared-lib snapshot.  The change isn't being integrated into  the gcc2netbsd
script until the shared-lib diffs are finalized.
1996-11-17 19:36:51 +00:00
mycroft 5711873831 Build _eh.o. Reported by Simon Gerraty. 1996-11-11 01:06:54 +00:00
jonathan bdc1084483 Commit years-old change for gcc on NetDSB/mips.
The NetbSD libc header files use GCC attributes to emit link-time warning
messages (e.g,. for gets()).   SO, add a definition of the GCC back-end
macro ASM_OUTPUT_SECTION_NAME() to the mips back-end target-specific file.

This adds support for emitting warning attributes to binutils 2.6 or newer.
(Weak references may or may not work also).

This patch has been  submitted to the FSF but hasn't made it into 2.7.2.1,
and seems to have got buried somewhere inside Cygnus.
1996-11-08 22:21:52 +00:00
thorpej 46ac224706 Use ${INSTALL}. 1996-10-18 02:52:59 +00:00
jtc d9b9c6dc0f /usr/tmp -> /var/tmp 1996-07-01 00:29:24 +00:00
mark 0e0fb92b29 Define __KPRINTF_ATTRIBUTE__ in the CCPP_PREDEFINES so we get rid of a
load of compiler warnings.
1996-06-05 19:09:11 +00:00
phil 90be8557fc Add the missing dependencies on the arch.md file. 1996-05-23 04:54:42 +00:00
phil 7b365250a9 Better changes from Matthias Pfaller. 1996-05-23 04:49:45 +00:00
phil 640382281e Bug fixes from Matthias Pfaller. (Will be submitted to Kenner soon.) 1996-05-19 05:27:33 +00:00
phil 82020f146c Add arm32 to the list of architecture configurations to extract. 1996-05-19 05:19:52 +00:00
mark 8b4eb7eeed Commit of arm32 architecture sources for GCC 2.7.2 1996-05-17 21:18:03 +00:00
mark b6ef591915 Commit of arm32 architecture sources for GCC 2.7.2 1996-05-17 21:16:45 +00:00
jtc e4cdcb8d79 soft-float accidently turned off the 68060 bit 1996-05-17 01:56:13 +00:00
jtc a7dc4ab369 Pass -m68060 through to the assembler 1996-05-12 18:52:22 +00:00
mycroft f0c3c199fa Update for removal of cexp.c. 1996-05-11 11:37:59 +00:00
mycroft 152a87dd9d This is generated automatically. 1996-05-11 11:30:58 +00:00
jtc 7d85884ca8 Added support for -R option.
This patch has been accepted by the FSF, and should appear in future
gcc releases.
1996-04-25 18:23:37 +00:00
jtc 7bf481ecb2 Integrate change from the gcc development sources:
Tue Feb 13 17:59:03 1996  Lee Iverson  <leei@Canada.AI.SRI.COM>

	  * gcc.c (DEFAULT_SWITCH_TAKES_ARG): New macro, from SWITCH_TAKES_ARG.
	  (SWITCH_TAKES_ARG): Use it.

This change alows us to add support for the 'R' option in a way that
will minimize differences when it comes to merging a future FSF gcc
release into the NetBSD sources.
1996-04-24 02:35:29 +00:00
phil 3f09e4a7e4 Sync with gcc2netbsd. (and do the right thing.) 1996-04-11 21:22:42 +00:00
jtc 3c36209f8c Re-enable weak alias and sysv pragma support that was lost when we
upgraded to gcc-2.7.  These changes have been submitted to the gcc
maintainers.  With luck, we won't have this problem again...
1996-04-06 00:51:08 +00:00
christos bd9f45b014 Add -D__KPRINTF_ATTRIBUTE__ 1996-04-04 20:17:16 +00:00
phil ab818facfa Sync with change to Makefile.cc1. 1996-04-03 08:18:16 +00:00
phil 5e11f509b9 Add a dependency that will cause a relink for anything that uses libcc1.a. 1996-04-03 08:15:38 +00:00
pk 5a2722dd1e Add missing argument to error() call. 1996-04-01 22:41:16 +00:00
christos a323f3fc97 - Add a kprintf format specifier, so that it includes only the formats valid
for kernel printf functions
- understand the db_printf %n,%r,%z format specifiers
- understand the kernel printf %: format specifier
- Be more permissive to %b arguments: accept any integer type, not only
  unsigned ints.
1996-03-30 04:35:04 +00:00
pk 27a9f993bb Bleh, got %b arguments reversed in previous change. 1996-03-17 22:27:17 +00:00
pk 1e66a8828f Take a stab at recognising %b formats. 1996-03-17 03:13:17 +00:00
jtc efdbc16b61 Patch from J"orn Rennecke that fixes code generation bugs with long
long comparisons.  As of this date, this change hasn't made it into
the development sources.  We must consider this when it comes time
to integrate a newer gcc release.

Thu Mar  7 01:16:23 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)

	* expmed.c (negate_rtx): Don't negate LONG_MIN if mode is wider
	than HOST_WIDE_INT.


gcc now produces worse code for this test case than gcc 2.5.8 when
invoked with -O , but it will optimize as good as gcc 2.5.8 (i.e. all
comparisons vanish) when invoked with -O2 , thus I think it doesn't
matter.  If anyone is interested in looking into this, the code in
expr.c, function expand_expr, case MINUS_EXPR, if-clause for if
(TREE_UNSIGNED (type) || TREE_OVERFLOW (negated)), will refuse to
convert the subtraction into an addition if there is an overflow in
the conversion or negation of the constant.  If both host and target
machine are binary computers with 2-complement representation, the
overflow should not matter.
1996-03-15 22:55:51 +00:00
phil 6867e1fda1 Sync with previous changes to Makefiles ... 1996-03-12 21:28:52 +00:00
phil d99c63563c Uncomment the %expect. 1996-03-12 19:01:05 +00:00
phil 2fe7ea6745 Uncomment the %expect. 1996-03-12 18:46:21 +00:00
phil ebca468319 Update for -DGCC_NAME=... in Makefile for g++. 1996-03-11 06:53:27 +00:00
phil cf6c269b55 Change so g++ doesn't concat junk to the front of /usr/bin/cc for
the name of gcc.  (Closes pr 2188, different fix)
1996-03-11 06:48:33 +00:00
phil 180e9e53f6 Back out last change now that libstdc++ now exists. 1996-03-11 06:35:33 +00:00
jtc fed36893e3 add c-parse.h to beforedepend target's dependency list 1996-03-06 20:40:06 +00:00
jtc 0b9cc167a8 Updated for changes to build parsers from *.y files 1996-03-05 01:27:16 +00:00
jtc 8e3cd4b2d5 Add -I. to CFLAGS; now needed for cc1plus 1996-03-05 01:03:19 +00:00
jtc 817015a438 Removed parse.c and parse.h, now generated from parse.y. 1996-03-05 01:02:05 +00:00
jtc 7a795dd808 Removed objc-parse.c.
Commented out %expect from objc-parse.y.
1996-03-05 00:22:08 +00:00
jtc a7f36c96bf Build c-parse.c / c-parse.h from c-parse.y.
Comment out %expect in c-parse.y.
1996-03-05 00:12:50 +00:00
jtc af6951825e Moved c-parse.y to ../common.
Removed c-parse.c.
1996-03-05 00:06:04 +00:00
jtc 56a0325bb8 Build bi-parser.c & bi-parser.h from bi-parser.y 1996-03-01 00:13:51 +00:00
phil 4d30f3b468 Updates to get the .y files in our source tree. 1996-02-28 21:01:27 +00:00
briggs 37fbce7fae Fix from Niklas Hallqvist <niklas@appli.se> for extendplussidi.
A missing constraint was allowing a register to get reused prematurely
when doing an addition of two longs into a quad.
1996-02-21 05:34:20 +00:00
jtc 00a38a0584 Added support for m68060 (activate with -m68060). This change has
already been accepted and integrated into the FSF source tree.
1996-02-19 21:26:53 +00:00
jtc ada953057b Remove the DBX_NO_XREFS definition from the NetBSD m68k, ns32k, and
sparc gcc configuration.  It isn't needed, as NetBSD uses gdb.
1996-02-19 21:01:57 +00:00
mycroft 1478bdefdd Fix thinko in previous change. 1996-02-11 02:02:03 +00:00
mycroft fa9dad8bfa If pedantic, whine about long long length modifiers. Suggested by der Mouse. 1996-02-08 08:57:22 +00:00
mycroft 7920800310 Invoke GCC as /usr/bin/cc. 1996-02-08 03:51:02 +00:00
mycroft 51cb4d7716 Remove -lstdc++ until it exists. 1996-02-08 03:46:10 +00:00
jtc 6b5e9088a1 Pass -m68030 or -m68040 through to the assembler.
This patch has been submitted and accepted by the FSF and will be
in the next gcc release.
1996-01-16 18:41:47 +00:00
phil 269329a42b a) new way to add "# $NetBSD: $" to generated files.
b) combined some function calls
c) updated g++ Makefile to sync with one in tree. (pr 1911)
1996-01-08 03:51:38 +00:00
phil f8f1e84a29 Make the correct links of c++/g++. (pr 1991, thomas@cevis.uni-Bremen.de) 1996-01-08 03:42:13 +00:00
phil 69bfe8d762 Update the script to generate the same as what is in the tree.
*REMEMBER* Any change in the gcc tree should be reflected in the gcc2netbsd
script so it reflects reality!  If you don't know how to change the
gcc2netbsd script, send your gcc changes to phil@netbsd.org.
1996-01-04 05:34:58 +00:00
ragge 6691107409 Bug (!) in vax.md causing some compilations to fail; an '$' too much. 1995-12-30 17:19:53 +00:00
mycroft e5a13ab82f Build long double support for i386 as well. 1995-12-21 05:36:19 +00:00
phil f5c9632c68 Sync with change to arch/mips/xm-netbsd.h. 1995-12-15 08:05:11 +00:00
phil 4fec4fc912 Changing "..." to <...> for includes. 1995-12-15 08:03:52 +00:00
phil 34527405c3 Import gcc-2.7.2. Since it is in the gcc directory instead of the gcc2
directory, this is being done now.  We will live with two trees until
the "formal" switch over by changing src/gnu/usr.bin/Makefile.
1995-12-01 17:58:53 +00:00