Ruslan Ermilov
0161ff2670
Fixed "make clean".
2004-01-15 10:07:59 +00:00
Ruslan Ermilov
d2ec2cabee
Last revision also added duplicate SRCS. Fixed this so that
...
the resulting .a library has only unique .o files.
Noticed by: bde
2004-01-12 22:02:31 +00:00
Ruslan Ermilov
24c50acd3f
Don't put objects in SRCS -- this creates all sort of havoc like
...
causing objects to be built during "make depend", missed sources
in .depend, etc.
2004-01-12 20:08:20 +00:00
Ruslan Ermilov
1b427c9cd4
Removed duplicate SRCS.
2004-01-12 07:46:20 +00:00
Ruslan Ermilov
2eb3a038d7
Ensure that generated headers are here before we build .depend
...
and object files in a less hackish way compatible with further
planned changes to bsd.dep.mk.
2004-01-11 20:45:46 +00:00
Alexander Kabaev
eb46541e9c
Stop compiling files which are not part of GCC 3.3.x.
2004-01-05 20:23:16 +00:00
Alexander Kabaev
cd3d9d6c3c
Use __cxa_atexit, rather than atexit, to register C++ destructors for local
...
statics and global objects. This is essential for fully standards-compliant
handling of destructors, and requires __cxa_atexit in libc.
2003-12-19 18:20:48 +00:00
Alexander Kabaev
903f6fc326
Add two additional headers for amd64 and x86.
...
Reported by: Ollivier Robert
2003-12-09 16:31:30 +00:00
David E. O'Brien
57ec2fc326
If ${GCC_CPU}-c.c exists, we need to use it.
2003-07-31 19:41:32 +00:00
Alexander Kabaev
0810229e75
Including dynamically generated osreldate.h wasn't such a good
...
idea after all.
Fix cross-builds and ia64 builds. gnu/lib/csu/Makefile is modified to
pre-include osreldate.h and gnu/usr.bin/cc/cc_tools/auto-host.h
will avoid including sys/param.h if __FreeBSD_version is already defined.
2003-07-13 02:41:48 +00:00
Alexander Kabaev
00041cf539
Include osreldate.h instead of sys/param.h to get __FreeBSD_version
...
definition. This fixes buildworld breakage on ia64.
2003-07-11 18:55:58 +00:00
Alexander Kabaev
e67810e696
Update bmake bits to build GCC 3.3.1-prerelease.
2003-07-11 05:37:23 +00:00
Alexander Kabaev
487ee93a17
Update for GCC 3.3.1-pre.
2003-07-11 05:33:24 +00:00
Ruslan Ermilov
68b4ee7bfa
Fixed build.
...
Noticed by: bde
2003-07-01 14:46:26 +00:00
Peter Wemm
fc369c7cd9
Add missing quote after cut/paste error in last commit. :-(
2003-06-26 20:34:08 +00:00
Peter Wemm
01e5a2aede
Configure gcc in biarch mode for amd64 so that the -m32 flag is enabled
...
for things like boot blocks etc.
Reviewed by: kan
2003-06-26 03:02:32 +00:00
Peter Wemm
a96996a182
When building a shared library, link it against libgcc_pic.a instead of the
...
non-PIC libgcc.a. Linking non-pic code into a shared library is not
a good thing. It happens to break amd64 at compile time, and the ppc
folks want it too. The problem is mainly with C++ code, unwind-dw2.c
in particular. Most of the other functions in libgcc.a are self
contained so most of the time it isn't a problem. The dwarf2 unwinder
is not safe though since it does make global variable references.
Reviewed by: kan
2003-06-13 22:25:41 +00:00
Jun Kuriyama
3a624f5e23
Use
...
cat ${.ALLSRC} > ${.TARGET}
rather than
ln -sf ${.ALLSRC} ${.TARGET}
not to depends on absolute-path of symbolic links.
Commented by: marcel, obrien, bde
2003-06-06 13:46:55 +00:00
Peter Wemm
cd51f0035e
Add a temporary indirect patch for gcc when targeting amd64. This is to
...
give the cvs tree a surviving a 'make world'. One of the two diff chunks
is already in gcc-3.3, the other has been committed to gcc's HEAD and
is in the pipeline for gcc-3.3.1 (but has not been committed yet).
The first chunk simplifies an excessively complex assembler statement
when generating switch jump tables. The use of '.' causes as(1) to choke
on big files. Use a simpler form instead. This is only an issue for
TARGET_64BIT mode.
The second chunk fixes an internal compiler error when compiling
libc/stdio/vfprinf.c. While this is supposedly only an issue for
64 bit mode, it does touch the 32 bit i386 code paths, so this patch
is only applied for TARGET_ARCH == amd64 to keep the risks down.
Breaking gcc at the 11th hour would suck.
This will be removed when it is time to import gcc-3.3.
Discussed with: kan
Approved by: re (jhb)
2003-05-24 20:58:47 +00:00
David E. O'Brien
8f3bf9945d
Lock GCC w/o -m32 into 64-bit mode.
2003-05-01 15:00:46 +00:00
David E. O'Brien
a12d8aed9a
We're changing the platform name from x86[_-]86 to amd64.
2003-04-26 20:04:38 +00:00
Ruslan Ermilov
4d63e8de71
Mark bits that do not require an object directory as such.
2003-04-01 12:37:54 +00:00
Ruslan Ermilov
2587947187
Install the gcov(1) manpage; kernbb(8) references it.
2003-02-24 22:58:19 +00:00
David E. O'Brien
685272c479
Gperf is usable again.
2002-12-04 17:34:21 +00:00
David E. O'Brien
f685377c2e
Remove our custom mixed ELF/a.out support. This means the base compiler
...
now only produce ELF objects. It also makes us closer to stock GCC, and
simplifies the set of changes we still need from stock GCC on every import.
Applauded by: peter
Approved by: re
2002-11-26 18:25:20 +00:00
Ruslan Ermilov
4192cfffe2
Bootstrapping aid for 4.0-RELEASE.
2002-11-13 11:50:40 +00:00
David E. O'Brien
837bd2fa82
Better emulate the FSF build for Sparc64.
2002-11-06 07:00:59 +00:00
David E. O'Brien
597e16e012
We HAVE_STPCPY now.
2002-10-20 07:50:20 +00:00
Alexander Kabaev
9734ce03a2
Add multilib_options variable definition.
...
Approved by: obrien
2002-10-10 04:56:35 +00:00
Peter Wemm
66422f5b7a
Initiate deorbit burn for the i386-only a.out related support. Moves are
...
under way to move the remnants of the a.out toolchain to ports. As the
comment in src/Makefile said, this stuff is deprecated and one should not
expect this to remain beyond 4.0-REL. It has already lasted WAY beyond
that.
Notable exceptions:
gcc - I have not touched the a.out generation stuff there.
ldd/ldconfig - still have some code to interface with a.out rtld.
old as/ld/etc - I have not removed these yet, pending their move to ports.
some includes - necessary for ldd/ldconfig for now.
Tested on: i386 (extensively), alpha
2002-09-17 01:49:00 +00:00
David E. O'Brien
1ca4970561
We're going to have to use a TARGET_ARCH of "x86_64" rather than "x86-64"
...
to make building GCC happy.
2002-09-12 15:56:21 +00:00
David E. O'Brien
60f9b09d26
Allow one to profile FORTRAN77 programs.
2002-06-09 00:03:56 +00:00
David E. O'Brien
9291f1b122
Restore revision 1.15 (use profiled C++ libs) which wasn't on the WIP_GCC31
...
branch and thus was lost in the shuffle on the move to Gcc 3.1.
2002-06-08 19:58:31 +00:00
David E. O'Brien
a32192cc4f
Fix compiling FORTRAN77 programs.
2002-06-08 18:48:40 +00:00
David E. O'Brien
86f99a57b2
Read specs from /usr/libdata/gcc/specs if it exists.
2002-06-06 03:47:02 +00:00
David E. O'Brien
eb5cb11b70
The best we can do about man pages for the moment.
2002-06-05 21:30:46 +00:00
David E. O'Brien
f09cdb5b44
Search the "backward" C++ compatibility include dir also.
2002-06-05 16:10:59 +00:00
David E. O'Brien
1fd8bea50e
We don't need bsd.dep.mk here.
2002-06-05 15:40:39 +00:00
David E. O'Brien
d09b305248
Install the i386 MMX headers, and IA-64 intrinsics functions.
...
Requested by: peter
2002-06-04 20:00:29 +00:00
David E. O'Brien
8df64a7d4f
We don't need this library any more.
2002-06-04 19:45:09 +00:00
David E. O'Brien
ca9578f3ef
I missed the setting of PREFIX_INCLUDE_DIR when I visually santity checked
...
the output from a autoconfig run.
2002-05-27 17:48:28 +00:00
David E. O'Brien
5a87307b7f
Use a more API denoting way to handle what is in libc and what isn't.
2002-05-18 04:49:44 +00:00
David E. O'Brien
00900fed40
Don't depend on gperf.
2002-05-18 00:18:00 +00:00
David E. O'Brien
9c2a81d5ba
Remove some WIP bits that I didn't fully clean out before merging to HEAD.
2002-05-17 06:35:44 +00:00
Ruslan Ermilov
a43171c248
Back out revision 1.30 change.
...
cc1plus can apparently be built if you happen to have
/usr/bin/gperf, or set CXX to point to a C++ compiler
that can build gperf(1) in the bootstrap-tools stage
of buildworld.
2002-05-17 05:41:47 +00:00
David E. O'Brien
cffafa9e12
Do not cut `docs' out of the build with NO_CXX.
...
There are no longer GNU C++ specific info files, and it was a bug with Gcc
2.95 that NO_CXX would cause the C and CPP info files to not be installed.
2002-05-17 03:00:33 +00:00
Ruslan Ermilov
35abacef2a
MD_EXEC_PREFIX doesn't work for the cross-arch compiler.
...
The change also makes the `cc -print-search-dirs' output
sane (the pre-3.1 way) in the non-cross case.
Draft reviewed by: obrien
2002-05-16 15:22:58 +00:00
Ruslan Ermilov
2898afe627
Make it possible to build a cross compiler for alpha,
...
ia64 and sparc64 on systems that do not have atoll(3).
The "cross" here doesn't necessarily mean cross-arch.
2002-05-16 15:18:13 +00:00
David E. O'Brien
fcbdc1f8a0
Add x86-64 bits.
2002-05-15 22:40:50 +00:00
David E. O'Brien
23735e10dd
The IA-64 config needs to know that we are using GNU ld & as.
...
Submitted by: peter
2002-05-15 21:59:46 +00:00
Ruslan Ermilov
83f56d9ae4
Make sure to not yet build the GNU C++, but still allow
...
for the C++ progs to be built with e.g. an old compiler,
CXX=/usr/bin/c++, for the time being.
2002-05-15 16:29:45 +00:00
Ruslan Ermilov
423e9124d9
Mark all internal libraries with INTERNALLIB.
2002-05-13 11:24:03 +00:00
David E. O'Brien
6677f3e022
Restore some of the implementation from the Bmake gcc 2.95 bits.
...
In the end, I can do things more like the previous Bmake bits than was
apparent in the middle of the gcc31 WIP.
2002-05-13 03:27:03 +00:00
David E. O'Brien
5b3bcd0c77
I was finally able to repeat the -j breakage on one of my machines. Fix it.
...
I borrowed some ideas from Ruslan, and made the style match cc_tools/Makefile
2002-05-13 01:54:26 +00:00
David E. O'Brien
a0eb22834d
Tidy up the cleanfiles.
2002-05-12 12:06:19 +00:00
David E. O'Brien
79c021244b
Fixes for building a.out bits.
...
Submitted by: bde
2002-05-12 12:01:12 +00:00
David E. O'Brien
c00b947e3f
Sorry, I did not mean to turn collect2 back on yet.
2002-05-11 04:51:45 +00:00
David E. O'Brien
b42da20fd5
Revert rev 1.3 -- I tested using the wrong build compiler.
2002-05-11 00:15:45 +00:00
David E. O'Brien
943aada83d
Actually we don't need any special YACC'ing here. The ones known to
...
Bmake are fine.
2002-05-10 23:20:54 +00:00
David E. O'Brien
d147c3da04
Touching the sjlj setting on IA-64 makes things not build.
...
Submitted by: peter
2002-05-10 17:42:19 +00:00
David E. O'Brien
871d3affa7
Doh! Add IA-64 to our target list.
2002-05-10 17:23:04 +00:00
David E. O'Brien
415f2bb46f
Gather up the stragglers that depends on genrtl.h. This is -j10 safe now.
2002-05-10 10:21:19 +00:00
David E. O'Brien
01c50f1782
This was *very* -j unsafe. Add a dependency on the common generated
...
headers to mostly make it -j1 safe.
2002-05-10 10:14:53 +00:00
David E. O'Brien
3cdd876f04
Bmake bits for Gcc 3.1.
...
Partially made possible by: Wilko.Bulte@compaq.com
2002-05-10 08:54:50 +00:00
David E. O'Brien
7b4716843d
Use MD_EXEC_PREFIX now to get us thru `buildworld'.
...
The problem is the GCC driver now turns STANDARD_EXEC_PREFIX into a relative
path -- "<basename argv[0]>/../../libexec" for our normal install location.
However, in the middle of `buildworld' we need
"<basename argv[0]>/../../../../libexec" due to the prefix we tell the GCC
driver. But either the GCC driver is buggy, or we are confusing it, as it
tries to exec "<basename argv[0]>/../../libexec/cpp0" as if it were installed
in the normal place (but isn't).
MD_EXEC_PREFIX is still absolute, so I'll use that for now. I would like to
later make it so MD_EXEC_PREFIX is set only for `buildworld', as
MD_EXEC_PREFIX is also in the search path for libraries. Don't ask me why!
Another way is to add ${OBJFORMAT_PATH} (as set in CROSSENV) to the PATH
in src/Makefile.inc's WMAKEENV.
2002-05-10 08:41:46 +00:00
David E. O'Brien
066003a540
Gcc 3.1 now offers both a C99 and a K&R traditional C preprocessor.
...
This is the ISO C99 one.
2002-05-10 02:46:01 +00:00
David E. O'Brien
dd7731cf37
Bmake bits for GCC 3.1.
2002-05-10 02:36:12 +00:00
cvs2svn
ff24f7832c
This commit was manufactured by cvs2svn to create branch 'WIP_GCC31'.
2002-05-09 00:52:10 +00:00
David E. O'Brien
354b719bf7
Gcc 3.1 now offers both a C99 and a K&R traditional C preprocessor.
...
This is the traditional one.
2002-05-09 00:52:09 +00:00
David E. O'Brien
b9b736e422
Using ${.ALLSRC} here is dangerious as it sometimes picks up more
...
"sources" than desired.
2002-05-08 02:46:10 +00:00
David E. O'Brien
672528fa3d
Make the YACC'ing more bullet proof.
2002-05-07 01:41:46 +00:00
David E. O'Brien
baef823236
The GCC target name does not always match our platform's name.
...
MFC: rev 1.61 (needed a different way to keep from multiple inclusion)
2002-05-07 01:26:58 +00:00
David E. O'Brien
66ecbefa3d
The HAVE_AS_GOTOFF_IN_DATA definition needs to depend on obj format.
2002-05-07 01:19:56 +00:00
David E. O'Brien
a5cc86f163
Add support for using the profiled versions of the C++ (and related) libs.
2002-05-01 19:19:22 +00:00
David E. O'Brien
e5ccba11ac
Don't use "GCCDIR" as the multiple inclusion protector. Subdir Makefiles
...
may want to override GCCDIR and this gets in the way.
2002-04-23 00:10:18 +00:00
David E. O'Brien
9d838dbb47
Remove the #ifdef IN_GCC junk. We *know* we are building GCC with these
...
bits. Also remove comment about keeping in sync with other instances in
the source tree -- it was too easy to get out of sync, so the other
instances now use this instance.
2002-04-15 03:41:47 +00:00
David E. O'Brien
d99ab028e5
Note that HAVE_GAS_SHF_MERGE is a new feature, and it can be surprising if
...
one does not know about it.
Experienced by: peter
2002-04-15 03:39:20 +00:00
David E. O'Brien
d6c4eef6dd
Turn off collect2.
...
collect2 was added based on the need of -frepo. However, -frepo is currently
broken on -CURRENT (Gcc 2.95.4 20020320 [FreeBSD] / ld 2.12.0 [FreeBSD]
2002-04-10). It is also broken on RELENG_4 (Gcc 2.95.3 20010315 / ld
2.11.2 20010719), so there is no need to MFC collect2 there yet. I have
a feeling the brokeness is due to the wide difference between the libiberty
bits of Gcc 2.95 and the later ld.
Testing by: fjoe
2002-04-15 03:15:40 +00:00
David E. O'Brien
8089148b52
In the cross case we need to provide TARGET_MACHINE.
2002-04-11 18:40:37 +00:00
David E. O'Brien
8f5dad4aa0
Update infodoc building for GCC 3.1.
2002-04-11 02:56:30 +00:00
David E. O'Brien
cb2a59bc57
In the cross case we need to provide TARGET_MACHINE.
2002-04-10 02:20:48 +00:00
David E. O'Brien
e228f1da77
Change YACCing.
...
Submited by: ru
2002-04-10 01:48:47 +00:00
David E. O'Brien
9833f59b8c
Fine! I cannot freaking take the bikeshed any more.
...
These binaries will be static, peroid.
2002-04-08 18:48:38 +00:00
David E. O'Brien
bf4990bb76
Fix search path.
2002-04-07 08:05:33 +00:00
David E. O'Brien
9e3b001017
Bmake bits for GCC 3.1.
2002-04-06 23:18:01 +00:00
cvs2svn
4e6aeb72b4
This commit was manufactured by cvs2svn to create branch 'WIP_GCC31'.
2002-04-06 23:16:27 +00:00
David E. O'Brien
f99189726f
Break some things used by the front-ends from Makefile.inc that cannot
...
be used build-wide for GCC 3.1.
2002-04-06 23:16:26 +00:00
David E. O'Brien
dbb66afa0b
Build and install collect2. This is needed for some C++ programs.
2002-04-06 23:12:46 +00:00
David E. O'Brien
cf5eb7bb89
Break some things out of Makefile.inc that cannot be used build-wide
...
for GCC 3.1.
2002-04-06 22:37:19 +00:00
David E. O'Brien
a5cf1da8f8
Expand the toolchain a little bit.
...
Requested by: fjoe (collect2), des (protoize)
2002-04-06 09:35:06 +00:00
David E. O'Brien
bb5545c63e
Tell GCC 3.1 our capibilities.
2002-04-05 12:14:36 +00:00
David E. O'Brien
6d57d58120
A little more reorg.
2002-04-05 10:23:19 +00:00
David E. O'Brien
93c646073d
MFC: tidy up YACCing.
2002-04-04 19:44:34 +00:00
David E. O'Brien
051ab09117
Minor reorg.
2002-04-04 19:36:33 +00:00
David E. O'Brien
aeccb79001
Minor style tweak.
2002-04-04 19:26:13 +00:00
David E. O'Brien
fda035bb2c
MFC: remove 2.6.3 cc_int shlib cruft and s/GNU_ARCH/TARGET_ARCH/g.
2002-04-04 18:30:57 +00:00
David E. O'Brien
953bfb1637
Remove some local cruft that snuck in yesterday.
2002-04-04 18:24:56 +00:00
David E. O'Brien
d93d97cd31
Make the sed line a little bit more clear (it will get messier later).
2002-04-04 01:25:26 +00:00
David E. O'Brien
51b5a2f445
Set NOSHARED conditionally.
2002-04-04 00:50:14 +00:00
David E. O'Brien
fe7e92414e
Clean up the YACCing. I don't know why we cannot leave the .y's as .y's.
...
So lets see if doing so causes anyone trouble.
Also use make(1)'s assistance in using the right file. It knows the
dependency, so lets just ask it.
2002-04-04 00:26:20 +00:00