291866 |
05-Dec-2015 |
bdrewery |
Add dependency for c++filt on libiberty.
This is a direct commit since c++filt does not exist in head.
This ws racing after my SUBDIR_PARALLEL changes here recently.
Reported by: peter Sponsored by: EMC / Isilon Storage Division |
291819 |
04-Dec-2015 |
bdrewery |
MFC r291348:
Use LIBEXECDIR for /usr/libexec. |
291815 |
04-Dec-2015 |
bdrewery |
MFC r284289,r288267:
r284289: Misc fixes from projects/bmake r288267: Remove redundant .NOPATH. |
291792 |
04-Dec-2015 |
bdrewery |
MFC r289393:
Add more SUBDIR_PARALLEL. |
291782 |
04-Dec-2015 |
bdrewery |
MFC r289379:
Remove directories disconnected since r169718. |
276486 |
31-Dec-2014 |
ngie |
MFC r264400,r265836:
r264400:
NO_MAN= has been deprecated in favor of MAN= for some time, go ahead and finish the job. ncurses is now the only Makefile in the tree that uses it since it wasn't a simple mechanical change, and will be addressed in a future commit.
r265836:
Remove last two NO_MAN= in the tree. In both of these cases, MAN= is what is needed. |
259563 |
18-Dec-2013 |
pfg |
MFC r258428, r258445
gcc: another round of merges from the gcc pre-43 branch.
Bring The following revisions from the gcc43 branch[1]:
118360, 118361, 118363, 118576, 119820, 123906, 125246, and 125721.
They all have in common that the were merged long ago into Apple's gcc and should help improve the general quality of the compiler and make it easier to bring new features from Apple's gcc42.
For details please review the additions to the files: gcc/ChangeLog.gcc43 gcc/cp/ChangeLog.gcc43 (new, adds previous revisions)
Fix crosscompilation (r258445 by andreast) Reference: [1] http://gcc.gnu.org/viewcvs/gcc/trunk/?pathrev=126700
Obtained from: gcc pre4.3 (GPLv2) branch MFC after: 3 weeks |
259405 |
15-Dec-2013 |
pfg |
MFC rr258501, r258507; gcc: Bring updates from Google's enhanced gcc-4.2.1.
Google released and enhanced version of gcc-4.2.1 plus their local patches for Android[1].
The patches are owned by Google and the license hasn't been changed from the original GPLv2. We are only bringing a subset of the available patches that may be helpful in FreeBSD, in other words, changes specific to android are not included.
From the README.google file[1].
Patches applied to google_vendor_src_branch/gcc/gcc-4.2.1:
gcc/Makefile.in gcc/c-common.c gcc/c-common.h gcc/c-opts.c gcc/c-typeck.c gcc/cp/typeck.c gcc/doc/invoke.texi gcc/flags.h gcc/opts.c gcc/tree-flow.h gcc/tree-ssa-alias-warnings.c gcc/tree-ssa-alias.c
Backport of -Wstrict-aliasing from mainline. Silvius Rus <rus@google.com>
gcc/coverage.c: Patch coverage_checksum_string for PR 25351. Seongbae Park <spark@google.com> Not yet submitted to FSF.
gcc/c-opts.c gcc/c-ppoutput.c gcc/c.opt gcc/doc/cppopts.texi libcpp/Makefile.in libcpp/directives-only.c libcpp/directives.c libcpp/files.c libcpp/include/cpplib.h libcpp/init.c libcpp/internal.h libcpp/macro.c Support for -fdirectives-only. Ollie Wild <aaw@google.com>. Submitted to FSF but not yet approved.
libstdc++-v3/include/ext/hashtable.h http://b/742065 http://b/629994 Reduce min size of hashtable for hash_map, hash_set from 53 to 5
libstdc++-v3/include/ext/hashtable.h http://b/629994 Do not iterate over buckets if hashtable is empty.
gcc/common.opt gcc/doc/invoke.texi gcc/flags.h gcc/gimplify.c gcc/opts.c Add Saito's patch for -finstrument-functions-exclude-* options.
gcc/common.opt gcc/doc/invoke.texi gcc/final.c gcc/flags.h gcc/opts.c gcc/testsuite/gcc.dg/Wframe-larger-than.c Add a new flag -Wframe-larger-than- which enables a new warning when a frame size of a function is larger than specified. This patch hasn't been integrated into gcc mainline yet.
gcc/tree-vrp.c Add a hack to avoid using ivopts information for pointers starting at constant values.
Reference:
[1] https://android.googlesource.com/toolchain/gcc/+/master/gcc-4.2.1/
Obtained from: Google Inc. |
259073 |
07-Dec-2013 |
peter |
Hoist all the mergeinfo up to the root in preparation for enforcing merges to the root only. All MFC's were rerecorded to the root.
Going forward, if an MFC includes mergeinfo, it will need to be made to the root and committed from the root. Merges with --ignore-ancestry or diff | patch can go anywhere.
The mergeinfo in HEAD is in a bad state from years of neglect and manual tampering and this was branched into 10.x. This confuses the coalescing code and prevents it from doing its job.
Approved by: re (gjb, implicit) |
256281 |
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
255321 |
06-Sep-2013 |
theraven |
On platforms where clang is the default compiler, don't build gcc or libstdc++. To enable them, set WITH_GCC and WITH_GNUCXX in src.conf. Make clang default to using libc++ on FreeBSD 10. Bumped __FreeBSD_version for the change.
GCC is still enabled on PC98, because the PC98 bootloader requires GCC to build (or, at least, hard-codes the use of gcc into its build).
Thanks to everyone who helped make the ports tree ready for this (and bapt for coordinating them all). Also to imp for reviewing this and working on the forward-porting of the changes in our gcc so that we're getting to a much better place with regard to external toolchains.
Sorry to all of the people who helped who I forgot to mention by name.
Reviewed by: bapt, imp, dim, ...
|
255185 |
03-Sep-2013 |
jmg |
add support to gcc for AES and PCLMUL intrinsics... This addes the -maes option, but not the -mpclmul option as I ran out of bits in the 32 bit flags field... You can -D__PCLMUL__ to get this, but it won't be compatible w/ clang and modern gcc...
Reviewed by: -current, -toolchain
|
251480 |
07-Jun-2013 |
pfg |
gcc: install AMD intrinsics header ammintrin.h
This file was included in the changes from r251212 and originated in the pre-GPLv3 gcc43 branch.
MFC after: 2 weeks
|
250393 |
08-May-2013 |
dim |
When gcc 4.2.0 was imported, the 3DNow intrinsics header <mm3dnow.h> was not added to the list of intrinsics headers to install, so belatedly (5 years :) add it.
MFC after: 1 week
|
249880 |
25-Apr-2013 |
rpaulo |
Remove the Fortran directories.
|
245898 |
25-Jan-2013 |
andrew |
bsd.own.mk needs to be included before Makefil.inc so MK_ARM_EABI is defined
|
245882 |
24-Jan-2013 |
brooks |
Reorder so that NO_MAN is declared before bsd.own.mk is included and thus has an effect (not installed a g++.1 manpage over the g++.1(.gz) link created in ../cc).
|
245539 |
17-Jan-2013 |
andrew |
Add compiler support for the ARM EABI.
ARM EABI support is disabled by default and can be enabled by setting WITH_ARM_EABI when building, however only the kernel-toolchain target will work with this flag until the rest of the support is added.
|
243933 |
06-Dec-2012 |
eadler |
Clean up hardcoded ar(1) flags in the tree to use the global ARFLAGS in share/mk/sys.mk instead.
This is part of a medium term project to permit deterministic builds of FreeBSD.
Submitted by: Erik Cederstrand <erik@cederstrand.dk> Reviewed by: imp, toolchain@ Approved by: cperciva MFC after: 2 weeks
|
241298 |
06-Oct-2012 |
marcel |
Add support for bmake. This includes: 1. Don't do upgrade_checks when using bmake. As long as we have WITH_BMAKE, there's a bootstrap complication in ths respect. Avoid it. Make the necessary changes to have upgrade_checks work wth bmake anyway. 2. Remove the use of -E. It's not needed in our build because we use ?= for the respective variables, which means that we'll take the environment value (if any) anyway. 3. Properly declare phony targets as phony as bmake is a lot smarter (and thus agressive) about build avoidance. 4. Make sure CLEANFILES is complete and use it on .NOPATH. bmake is a lot smarter about build avoidance and should not find files we generate in the source tree. We should not have files in the repository we want to generate, but this is an easier way to cross this hurdle. 5. Have behavior under bmake the same as it is under make with respect to halting when sub-commands fail. Add "set -e" to compound commands so that bmake is informed when sub-commands fail. 6. Make sure crunchgen uses the same make as the rest of the build. This is important when the make utility isn't called make (but bmake for example). 7. While here, add support for using MAKEOBJDIR to set the object tree location. It's the second alternative bmake looks for when determining the actual object directory (= .OBJDIR).
Submitted by: Simon Gerraty <sjg@juniper.net> Submitted by: John Van Horne <jvanhorne@juniper.net>
|
239272 |
15-Aug-2012 |
gonzo |
Merging of projects/armv6, part 3
r238211: Support TARGET_ARCH=armv6 and TARGET_ARCH=armv6eb
This adds a new TARGET_ARCH for building on ARM processors that support the ARMv6K multiprocessor extensions. In particular, these processors have better support for TLS and mutex operations.
This mostly touches a lot of Makefiles to extend existing patterns for inferring CPUARCH from ARCH. It also configures: * GCC to default to arm1176jz-s * GCC to predefine __FreeBSD_ARCH_armv6__ * gas to default to ARM_ARCH_V6K * uname -p to return 'armv6' * make so that MACHINE_ARCH defaults to 'armv6' It also changes a number of headers to use the compiler __ARM_ARCH_XXX__ macros to configure processor-specific support routines.
Submitted by: Tim Kientzle <kientzle@freebsd.org>
|
238255 |
08-Jul-2012 |
nwhitehorn |
After the binutils 2.17.50 import, the assembler supports AS_REL16 relocations.
|
234782 |
29-Apr-2012 |
kib |
Add src.conf option WITH_SHARED_TOOLCHAIN to enable building the toolchain binaries as dynamically linked. Option is disabled by default.
Reviewed by: ru (previous version) MFC after: 2 weeks
|
233644 |
29-Mar-2012 |
jmallett |
Assume a big-endian default on MIPS and drop the "eb" suffix from MACHINE_ARCH. This makes our naming scheme more closely match other systems and the expectations of much third-party software. MIPS builds which are little-endian should require and exhibit no changes. Big-endian TARGET_ARCHes must be changed: From: To: mipseb mips mipsn32eb mipsn32 mips64eb mips64
An entry has been added to UPDATING and some foot-shooting protection (complete with warnings which should become errors in the near future) to the top-level base system Makefile.
|
232322 |
29-Feb-2012 |
dim |
Add a WITH_CLANG_IS_CC option for src.conf(5), disabled by default, that installs clang as /usr/bin/cc, /usr/bin/c++ and /usr/bin/cpp.
Note this does *not* disable building and installing gcc, which will still be available as /usr/bin/gcc, /usr/bin/g++ and /usr/bin/gcpp. If you want to disable gcc completely, you must use WITHOUT_GCC.
MFC after: 2 weeks
|
231852 |
17-Feb-2012 |
bz |
Merge multi-FIB IPv6 support from projects/multi-fibv6/head/:
Extend the so far IPv4-only support for multiple routing tables (FIBs) introduced in r178888 to IPv6 providing feature parity.
This includes an extended rtalloc(9) KPI for IPv6, the necessary adjustments to the network stack, and user land support as in netstat.
Sponsored by: Cisco Systems, Inc. Reviewed by: melifaro (basically) MFC after: 10 days
|
231620 |
14-Feb-2012 |
gonzo |
Enable TLS support for ARM toolchain
Reviewed by: cognet
|
226702 |
24-Oct-2011 |
obrien |
* Don't give the impression that this compiler is GPLv3. (It is "well known" that GCC 4.2.2 is GPLv3.) * Don't give the impression that this compiler isn't "trustable". * Fix dependency nit.
|
226519 |
18-Oct-2011 |
dim |
Update gcc's __FreeBSD__ and __FreeBSD_cc_version macros for FreeBSD 10.
|
223758 |
04-Jul-2011 |
attilio |
With retirement of cpumask_t and usage of cpuset_t for representing a mask of CPUs, pc_other_cpus and pc_cpumask become highly inefficient.
Remove them and replace their usage with custom pc_cpuid magic (as, atm, pc_cpumask can be easilly represented by (1 << pc_cpuid) and pc_other_cpus by (all_cpus & ~(1 << pc_cpuid))).
This change is not targeted for MFC because of struct pcpu members removal and dependency by cpumask_t retirement.
MD review by: marcel, marius, alc Tested by: pluknet MD testing by: marcel, marius, gonzo, andreast
|
222813 |
07-Jun-2011 |
attilio |
etire the cpumask_t type and replace it with cpuset_t usage.
This is intended to fix the bug where cpu mask objects are capped to 32. MAXCPU, then, can now arbitrarely bumped to whatever value. Anyway, as long as several structures in the kernel are statically allocated and sized as MAXCPU, it is suggested to keep it as low as possible for the time being.
Technical notes on this commit itself: - More functions to handle with cpuset_t objects are introduced. The most notable are cpusetobj_ffs() (which calculates a ffs(3) for a cpuset_t object), cpusetobj_strprint() (which prepares a string representing a cpuset_t object) and cpusetobj_strscan() (which creates a valid cpuset_t starting from a string representation). - pc_cpumask and pc_other_cpus are target to be removed soon. With the moving from cpumask_t to cpuset_t they are now inefficient and not really useful. Anyway, for the time being, please note that access to pcpu datas is protected by sched_pin() in order to avoid migrating the CPU while reading more than one (possible) word - Please note that size of cpuset_t objects may differ between kernel and userland. While this is not directly related to the patch itself, it is good to understand that concept and possibly use the patch as a reference on how to deal with cpuset_t objects in userland, when accessing kernland members. - KTR_CPUMASK is changed and now is represented through a string, to be set as the example reported in NOTES.
Please additively note that no MAXCPU is bumped in this patch, but private testing has been done until to MAXCPU=128 on a real 8x8x2(htt) machine (amd64).
Please note that the FreeBSD version is not yet bumped because of the upcoming pcpu changes. However, note that this patch is not targeted for MFC.
People to thank for the time spent on this patch: - sbruno, pluknet and Nicholas Esborn (nick AT desert DOT net) tested several revision of the patches and really helped in improving stability of this work. - marius fixed several bugs in the sparc64 implementation and reviewed patches related to ktr. - jeff and jhb discussed the basic approach followed. - kib and marcel made targeted review on some specific part of the patch. - marius, art, nwhitehorn and andreast reviewed MD specific part of the patch. - marius, andreast, gonzo, nwhitehorn and jceel tested MD specific implementations of the patch. - Other people have made contributions on other patches that have been already committed and have been listed separately.
Companies that should be mentioned for having participated at several degrees: - Yahoo! for having offered the machines used for testing on big count of CPUs. - The FreeBSD Foundation for having sponsored my devsummit attendance, which has been instrumental. - Sandvine for having offered offices and infrastructure during development.
(I really hope I didn't forget anyone, if it happened I apologize in advance).
|
220755 |
17-Apr-2011 |
dim |
Remove libobjc and other Objective-C related components, as these are extremely outdated, and not used by anything in the base system.
Silence from: current@
|
220630 |
14-Apr-2011 |
dim |
In r219639, SSSE3 instruction set support was backported to our gcc.
Therefore, we also need to install the new tmmintrin.h header containing the related intrinsic functions, similar to xmmintrin.h, emmintrin.h, etc.
Reported by: George Liaskos <geo.liaskos@gmail.com>
|
219534 |
11-Mar-2011 |
marius |
Now that TLS is supported for sparc64 by both binutils 2.17.50 committed in r218822 and rtld(1) committed in r219533 turn on TLS support in GCC.
|
218822 |
18-Feb-2011 |
dim |
Merge binutils 2.17.50 to head. This brings a number of improvements to x86 CPU support, better support for powerpc64, some new directives, and many other things. Bump __FreeBSD_version, and add a note to UPDATING.
Thanks to the many people that have helped to test this.
Obtained from: projects/binutils-2.17
|
217128 |
07-Jan-2011 |
tijl |
Remove unused support for 64 bit long on 32 bit architectures.
It was used mainly to discover and fix some 64-bit portability problems before 64-bit arches were widely available.
Discussed with: bde Approved by: kib (mentor)
|
217123 |
07-Jan-2011 |
imp |
Retire TARGET_ABI.
Implement MACHINE_ARCH=mips64e[lb] to build N64 images. This replaces MACHINE_ARCH=mipse[lb] TARGET_ABI=n64.
MACHINE_ARCH=mipsn32e[lb] has been added, but currently requires WITHOUT_CDDL due to atomic issues in libzfs. I've not investigated this much, but implemented this to preserve as much of the TARGET_ABI functionality that I could. Since its presence doesn't affect the working cases, I've kept it in for now.
Added mips64e[lb] to make universe, so more kernels build.
And I think this (finally) closes the curtain on the tbemd tree.
|
216127 |
02-Dec-2010 |
nwhitehorn |
Unbreak amd64<->i386 cross builds.
|
216113 |
02-Dec-2010 |
nwhitehorn |
The driver-XXX.c files used for host CPU detection with -march=native should not be compiled in the cross-tools case (where -march=native makes no sense). This fixes cross-building x86 toolchains on non-x86 systems.
|
215439 |
17-Nov-2010 |
tijl |
Let gcc and ld know where to find 32 bit libraries on amd64.
Reviewed by: arch@ Approved by: kib (mentor)
|
215276 |
14-Nov-2010 |
imp |
We need to add powerpc64->powerpc translations (I knew I hated copying this code in the first place).
Also MACHINE_ARCH powerpc is 32-bit, not MACHINE_CPUARCH == powerpc.
Submitted by: nathanw
|
215082 |
10-Nov-2010 |
imp |
Complete the integration of tbemd branch into head.
TARGET_BIG_ENDIAN is now completely dead, except where it was originally supposed to be used (internally in the toolchain building).
TARGET_ARCH has changed in three cases: (1) Little endian mips has changed to mipsel. (2) Big endian mips has changed to mipseb. (3) Big endian arm has changed to armeb.
Some additional changes are needed to make 'make universe' work on arm and mips after this change, so those are commented out for now.
UPDATING information will be forthcoming. Any remaining rough edges will be hammered out in -current.
|
209867 |
10-Jul-2010 |
nwhitehorn |
Teach our toolchain how to generate 64-bit PowerPC binaries. This fixes a variety of bugs in binutils related to handling of 64-bit PPC ELF, provides a GCC configuration for 64-bit PowerPC on FreeBSD, and associated build systems tweaks.
Obtained from: projects/ppc64
|
208758 |
02-Jun-2010 |
jmallett |
Fix build for O32 systems without a TARGET_CPUTYPE defined. We must default to MIPS-III because FreeBSD relies on a number of MIPS-III features; the ABI default would be MIPS-I which we don't intend to support. Our old default before I switched to using the ABI default was MIPS32.
|
208737 |
02-Jun-2010 |
jmallett |
Add/improve mips64r2, Octeon, n32 and n64 support in the toolchain.
o) Add TARGET_ABI to the MIPS toolchain build process. This sets the default ABI to one of o32, n32 or n64. If it is not set, o32 is assumed as that is the current default. o) Set the default GCC cpu type to any specified TARGET_CPUTYPE. This is necessary to have a working "cc" if e.g. mips64 is specified, as binutils will refuse to link objects using different ISAs in some cases. o) Add support for n32 and n64 ABIs to binutils and GCC. o) Add additional required libgcc2 stubs for n32 and n64. o) Add support for the "mips64r2" architecture to GCC. Add the "octeon" o) When static linking, wrap default libraries in --start-group and --end-group. This is required for static linking to work on n64 with the interdependencies between libraries there. This is what other OSes that support n64 seem to do, as well. o) Fix our GCC spec to define __mips64 for 64-bit targets, not __mips64__, the former being what libgcc, etc., check and the latter seemingly being a misspelling of a hand merge from a Linux spec. o) When no TARGET_CPUTYPE is specified at build time, make GCC take the default ISA from the ABI. Our old defaults were too liberal and assumed that 64-bit ABIs should default to the MIPS64 ISA and that 32-bit ABIs should default to the MIPS32 ISA, when we are supporting or will support some systems based on earlier 32-bit and 64-bit ISAs, most notably MIPS-III. o) Merge a new opcode file (and support code) from a later version of binutils and add flags and code necessary to support Octeon-specific instructions. This should also make merging opcodes for other modern architectures easier.
Reviewed by: imp
|
207995 |
12-May-2010 |
obrien |
Non-GCC gcc compatible compilers may provide the same multimedia intrinsic headers as GCC, but of their own implementation. So put the GCC ones into their own header "namespace".
Requested by: ed
|
204771 |
05-Mar-2010 |
imp |
Make little endian compiles produce little endian binaries on mips.
Submitted by: neel@
|
201849 |
08-Jan-2010 |
imp |
Back-merge (by hand) r195668:
r195668 | gonzo | 2009-07-13 17:01:12 -0600 (Mon, 13 Jul 2009) | 3 lines - Get rid of ugly TARGET_CPU_DEFAULT default. 16 is MASK_DSP and was set there due to my ignroance.
|
195152 |
29-Jun-2009 |
kan |
Back out previous revision until better tested fix is ready.
Approved by: re (impliciti, by approving previos check-in)
|
195151 |
28-Jun-2009 |
kan |
Eliminate .text relocations in shared libraries compiled with stack protector.
Use libssp_nonshared library to pull __stack_chk_fail_local symbol into each library that needs it instead of pulling it from libc. GCC generates local calls to this function which result in absolute relocations put into position-independent code segment, making dynamic loader do extra work everys time given shared library is being relocated and making affected text pages non-shareable.
Reviewed by: kib Approved by: re (kensmith)
|
189834 |
14-Mar-2009 |
das |
Fix build breakage due to the interplay between r189801 and r189824. In particular, vendor sources that aren't ready for gnu99 should still be compiled with gnu89. (Before r189824, these would have generated warnings if you tried to compile them in gnu99 mode, but the warnings went unheeded due to -Wno-error.)
|
185777 |
08-Dec-2008 |
kib |
Add strndup(3) prototype to string.h.
This change was erronously ommitted from the r185690, and attempt to simply add the prototype to string.h has revealed that several contributed programs defined local prototypes for strndup(), controlled by autoconfed config.h. So, manually change #undef HAVE_STRNDUP to #define HAVE_STRNDUP 1. Next import of the corresponding program would regenerate config.h, overriding the changes in this commit.
No objections from: kan
|
182627 |
01-Sep-2008 |
obrien |
Add FreeBSD/MIPS support to GCC.
|
182579 |
31-Aug-2008 |
obrien |
Turn cc_tools/Makefile and Makefile.tgt into a "linear" read. Shared parts of the configuration aren't duplicated, and arch-specific exceptions are made "in-place". Also clean up the FreeBSD/amd64 config a little.
|
173731 |
18-Nov-2007 |
ache |
Use LC_ALL=C before awk generating "optionlist" (and before two other awk calls, just to be safe) Without it sorting is broken for locales with ASCII collating equivalence like (v,w) in sv_SE
|
172592 |
12-Oct-2007 |
obrien |
Welcome FreeBSD 8.
|
172473 |
08-Oct-2007 |
marius |
Disable TLS for arm and sparc64 here as binutils 2.15 predate GNU TLS support for these. This is in line with gnu/lib/libgomp/config.h and gnu/lib/libstdc++/config.h.
Reviewed by: cognet, obrien Approved by: re (kensmith)
|
172234 |
18-Sep-2007 |
cognet |
Make gcc default to big endian when building it for a big endian target. This was lost while migrating to gcc4.
Reported by: Michael Reifenberger <mike at Reifenberger dot com> Approved by: re (blanket)
|
170039 |
28-May-2007 |
kan |
Fix compiles when user chooses to disable both ObjC and C++ support in GCC.
Reported by: bz
|
169828 |
21-May-2007 |
ru |
Back out the addition of -static to LDFLAGS; I'm pretty confident that the build failure was caused by a computer/sources date/time mismatch that caused GCC tools to be mistakenly rebuilt again at an inappropriate time during buildworld, re-linking them against new libraries instead of host's installed libraries and thus making them not runnable by the host. Normally they are only built in the early stage of buildworld (build-tools) that links them against shared libraries of the host, but if either the system clock or modification date/time on source files is set incorrectly, make(1) can be foolished into thinking that tools are stale and will rebuild them again, now in the "target" environment which is not suitable for building helper apps that are to be run during buildworld.
OK'ed by: kan
|
169740 |
19-May-2007 |
scottl |
Work-around for upgrading from a pre-symbol-versioned world.
Blame-to: cperciva
|
169718 |
19-May-2007 |
kan |
Update bmake glue to build GCC 4.2.
Also: Switch FreeBSD to use libgcc_s.so.1.
Use dl_iterate_phdr to locate shared objects' exception frame info instead of depending on older register_frame_info machinery. This allows us to avoid depending on libgcc_s.so.1 in binaries that do not use exception handling directly. As an additional benefit it breaks circular libc <=> libgcc_s.so.1 dependency too.
Build newly added libgomp.so.1 library, the runtime support bits for OpenMP.
Build LGPLed libssp library. Our libc provides our own BSD-licensed SSP callbacks implementation, so this library is only built to benefit applications that have hadcoded knowledge of libssp.so and libssp_nonshared.a. When linked in from command line, these libraries override libc implementation.
|
167471 |
12-Mar-2007 |
kan |
Minor Makefile cleanup. Do not use Makefile variables named 'version' and 'target'. Latter is problematic in particular as apparently FreeBSD's bsd.prog.mk re-defines it under some circumstances. This causes an unexpected failures like -dumpmachine not working for cc while working fine for c++.
Do not re-define IN_GCC in multipe places, it gets inherited from Makefile.in anyway.
PR: gnu/110143 Submitted by: usleepless at gmail
|
164019 |
06-Nov-2006 |
obrien |
Remove gratuitous white space change.
|
162511 |
21-Sep-2006 |
ru |
Prepare to pick up manpages from their new location.
|
162496 |
21-Sep-2006 |
kan |
Bump __FreeBSD_cc_version in case someone cares for differences between GCC 3.4.4 and GCC 3.4.6 on -current.
|
162417 |
18-Sep-2006 |
imp |
Add additional support for generating code for the arm. There's still a few issues in other parts of the tree, but those will be resolved separately.
Submitted by: cogenet@ Reviewed by: kan@, obrien@ MFC After: 5 days
|
162346 |
16-Sep-2006 |
ru |
This is not needed since src/gnu/usr.bin/cc/cc_int/Makefile,v 1.34.
|
162312 |
15-Sep-2006 |
imp |
A TARGET_CPU_DEFAULT of xscale for arm results in illegal instructions during buildworld. Comment it out for now.
|
162258 |
12-Sep-2006 |
kan |
Remove redundant defines alerady set by Makefile.fe
|
162247 |
12-Sep-2006 |
obrien |
Move to more global Makefile.tgt vs. having to define in the leaves.
|
162246 |
12-Sep-2006 |
obrien |
Default to big endian ARM if "TARGET_BIG_ENDIAN" is defined, and set an ARM target default.
|
162244 |
12-Sep-2006 |
obrien |
Default to big endian ARM if "TARGET_BIG_ENDIAN" is defined (& targeting ARM).
|
162209 |
11-Sep-2006 |
imp |
Fix three whitespace nits.
I think these are from kan@...
|
160575 |
22-Jul-2006 |
obrien |
The platform name is ARM not StrongARM.
Submitted by: cognet
|
156935 |
21-Mar-2006 |
ru |
Desupport the *_COLLECT2 no-op.
|
156813 |
17-Mar-2006 |
ru |
Reimplementation of world/kernel build options. For details, see:
http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html
The src.conf(5) manpage is to follow in a few days.
Brought to you by: imp, jhb, kris, phk, ru (all bugs are mine)
|
154374 |
14-Jan-2006 |
ru |
Don't pollute output when "make" is run with -s.
Approved by: kan
|
151887 |
30-Oct-2005 |
obrien |
Locate __FreeBSD_cc_version's value beside __FreeBSD__'s value to make it easier to keep them in sync.
|
151857 |
29-Oct-2005 |
obrien |
Catch up with FreeBSD 7.
|
146910 |
03-Jun-2005 |
kan |
Update bmake glue for GCC 3.4.4.
|
139112 |
21-Dec-2004 |
ru |
NOSHARED -> NO_SHARED
|
139103 |
21-Dec-2004 |
ru |
Start the dreaded NOFOO -> NO_FOO conversion.
OK'ed by: core
|
137361 |
07-Nov-2004 |
kan |
Remove trailing whitespace.
Pointed out by: ru
|
137334 |
07-Nov-2004 |
kan |
Reconnect c++filt to the build.
|
137333 |
07-Nov-2004 |
kan |
Unbreak c++filt. It was disconnected from the build and never fixed during GCC 3.4.2 work unintentioanlly.
Reminded by: bms
|
136910 |
24-Oct-2004 |
ru |
For variables that are only checked with defined(), don't provide any fake value.
|
133956 |
18-Aug-2004 |
ru |
A fix from rev. 1.52 of gnu/usr.bin/cc/cc_tools/Makefile was lost in rev. 1.57. Fix this regression by making cc_tools a new-style build-tool in Makefile.inc1. For details of what has been fixed, please see the gnu/usr.bin/cc/cc_tools/Makefile,v 1.52 commit log.
Caught this by accidentally touching param.h while in the process of cross-buildworld for amd64.
|
133581 |
12-Aug-2004 |
kan |
Consolidate libiberty files in one place and avoid listing some of them in several places.
Noticed by: bsdimp
|
133057 |
03-Aug-2004 |
ru |
Whitespace nit.
OK'ed by: kan
|
132887 |
30-Jul-2004 |
kan |
Fix a copy and paste error. Do not include errors.c in libgcc_int.a, it is only used by build tools.
Submitted by: grehan
|
132751 |
28-Jul-2004 |
kan |
Bmake glue for GCC 3.4.2-prerelease.
|
130325 |
11-Jun-2004 |
peter |
Revise previous commit - I managed to mess up a 1-line change and broke amd64 world. The csu code evalues this Makefile with a different origin.
|
130324 |
10-Jun-2004 |
peter |
The gcc/config/i386/freebsd64.h file neglects to override the default (bogus, application name space) mcount function name on amd64. Override it here instead.
I've done it this way to avoid touching gcc source while 3.4 is in progress, and this is the smallest, lowest impact I could come up with. Adding a patch touches about 10-14 lines of Makefile, this touches only 1. This will likely go away with the 3.4 import.
I spoke with Alexander about this a few days ago, but waited until after sorting out some of the other bugs in the userland profiling.
|
129828 |
29-May-2004 |
kan |
Remove componenst which are not part of GCC 3.3 and which are not likely to get used again in the future.
|
126268 |
26-Feb-2004 |
bde |
Rremoved bogus -static from CFLAGS. Makeworld will add -static in the correct place if needed and possible. Self-hosted builds can just use the system default.
|
126266 |
26-Feb-2004 |
bde |
Backed out the residue of rev.1.13 (bogus addition of -static to CFLAGS). Makeworld will add -static in the correct place if needed and possible. Self-hosted builds can just use the system default.
Fixed some nearby style bugs (code unrelated to its comment, and comment formatting).
|
125919 |
17-Feb-2004 |
ache |
Remove getopt*.c, we already have compatible getopt_long() in libc (cc toolchain use it rarely, so no surprizes should occurse)
|
125503 |
05-Feb-2004 |
ru |
Fixed style of DPADD and LDADD assignments as per style.Makefile(5).
|
125040 |
26-Jan-2004 |
kan |
Do not treat make variables as Perl variables.
|
124547 |
15-Jan-2004 |
ru |
Fixed "make clean".
|
124451 |
12-Jan-2004 |
ru |
Last revision also added duplicate SRCS. Fixed this so that the resulting .a library has only unique .o files.
Noticed by: bde
|
124443 |
12-Jan-2004 |
ru |
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.
|
124417 |
12-Jan-2004 |
ru |
Removed duplicate SRCS.
|
124400 |
11-Jan-2004 |
ru |
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.
|
124150 |
05-Jan-2004 |
kan |
Stop compiling files which are not part of GCC 3.3.x.
|
123678 |
19-Dec-2003 |
kan |
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.
|
123359 |
09-Dec-2003 |
kan |
Add two additional headers for amd64 and x86.
Reported by: Ollivier Robert
|
118273 |
31-Jul-2003 |
obrien |
If ${GCC_CPU}-c.c exists, we need to use it.
|
117496 |
13-Jul-2003 |
kan |
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.
|
117453 |
11-Jul-2003 |
kan |
Include osreldate.h instead of sys/param.h to get __FreeBSD_version definition. This fixes buildworld breakage on ia64.
|
117429 |
11-Jul-2003 |
kan |
Update bmake bits to build GCC 3.3.1-prerelease.
|
117428 |
11-Jul-2003 |
kan |
Update for GCC 3.3.1-pre.
|
117118 |
01-Jul-2003 |
ru |
Fixed build.
Noticed by: bde
|
116891 |
26-Jun-2003 |
peter |
Add missing quote after cut/paste error in last commit. :-(
|
116859 |
26-Jun-2003 |
peter |
Configure gcc in biarch mode for amd64 so that the -m32 flag is enabled for things like boot blocks etc.
Reviewed by: kan
|
116320 |
13-Jun-2003 |
peter |
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
|
115898 |
06-Jun-2003 |
kuriyama |
Use cat ${.ALLSRC} > ${.TARGET} rather than ln -sf ${.ALLSRC} ${.TARGET} not to depends on absolute-path of symbolic links.
Commented by: marcel, obrien, bde
|
115292 |
24-May-2003 |
peter |
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)
|
114425 |
01-May-2003 |
obrien |
Lock GCC w/o -m32 into 64-bit mode.
|
114083 |
26-Apr-2003 |
obrien |
We're changing the platform name from x86[_-]86 to amd64.
|
112940 |
01-Apr-2003 |
ru |
Mark bits that do not require an object directory as such.
|
111451 |
24-Feb-2003 |
ru |
Install the gcov(1) manpage; kernbb(8) references it.
|
107614 |
04-Dec-2002 |
obrien |
Gperf is usable again.
|
107286 |
26-Nov-2002 |
obrien |
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
|
106848 |
13-Nov-2002 |
ru |
Bootstrapping aid for 4.0-RELEASE.
|
106488 |
06-Nov-2002 |
obrien |
Better emulate the FSF build for Sparc64.
|
105502 |
20-Oct-2002 |
obrien |
We HAVE_STPCPY now.
|
104770 |
10-Oct-2002 |
kan |
Add multilib_options variable definition.
Approved by: obrien
|
103436 |
17-Sep-2002 |
peter |
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
|
103257 |
12-Sep-2002 |
obrien |
We're going to have to use a TARGET_ARCH of "x86_64" rather than "x86-64" to make building GCC happy.
|
98056 |
09-Jun-2002 |
obrien |
Allow one to profile FORTRAN77 programs.
|
98054 |
08-Jun-2002 |
obrien |
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.
|
98051 |
08-Jun-2002 |
obrien |
Fix compiling FORTRAN77 programs.
|
97913 |
06-Jun-2002 |
obrien |
Read specs from /usr/libdata/gcc/specs if it exists.
|
97890 |
05-Jun-2002 |
obrien |
The best we can do about man pages for the moment.
|
97873 |
05-Jun-2002 |
obrien |
Search the "backward" C++ compatibility include dir also.
|
97872 |
05-Jun-2002 |
obrien |
We don't need bsd.dep.mk here.
|
97831 |
04-Jun-2002 |
obrien |
Install the i386 MMX headers, and IA-64 intrinsics functions.
Requested by: peter
|
97830 |
04-Jun-2002 |
obrien |
We don't need this library any more.
|
97356 |
27-May-2002 |
obrien |
I missed the setting of PREFIX_INCLUDE_DIR when I visually santity checked the output from a autoconfig run.
|
96833 |
18-May-2002 |
obrien |
Use a more API denoting way to handle what is in libc and what isn't.
|
96828 |
18-May-2002 |
obrien |
Don't depend on gperf.
|
96794 |
17-May-2002 |
obrien |
Remove some WIP bits that I didn't fully clean out before merging to HEAD.
|
96789 |
17-May-2002 |
ru |
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.
|
96777 |
17-May-2002 |
obrien |
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.
|
96736 |
16-May-2002 |
ru |
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
|
96734 |
16-May-2002 |
ru |
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.
|
96699 |
15-May-2002 |
obrien |
Add x86-64 bits.
|
96697 |
15-May-2002 |
obrien |
The IA-64 config needs to know that we are using GNU ld & as.
Submitted by: peter
|
96669 |
15-May-2002 |
ru |
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.
|
96514 |
13-May-2002 |
ru |
Mark all internal libraries with INTERNALLIB.
|
96488 |
13-May-2002 |
obrien |
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.
|
96484 |
13-May-2002 |
obrien |
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
|
96448 |
12-May-2002 |
obrien |
Tidy up the cleanfiles.
|
96447 |
12-May-2002 |
obrien |
Fixes for building a.out bits.
Submitted by: bde
|
96395 |
11-May-2002 |
obrien |
Sorry, I did not mean to turn collect2 back on yet.
|
96370 |
11-May-2002 |
obrien |
Revert rev 1.3 -- I tested using the wrong build compiler.
|
96369 |
10-May-2002 |
obrien |
Actually we don't need any special YACC'ing here. The ones known to Bmake are fine.
|
96360 |
10-May-2002 |
obrien |
Touching the sjlj setting on IA-64 makes things not build.
Submitted by: peter
|
96358 |
10-May-2002 |
obrien |
Doh! Add IA-64 to our target list.
|
96345 |
10-May-2002 |
obrien |
Gather up the stragglers that depends on genrtl.h. This is -j10 safe now.
|
96344 |
10-May-2002 |
obrien |
This was *very* -j unsafe. Add a dependency on the common generated headers to mostly make it -j1 safe.
|
96340 |
10-May-2002 |
obrien |
Bmake bits for Gcc 3.1.
Partially made possible by: Wilko.Bulte@compaq.com
|
96323 |
10-May-2002 |
obrien |
Gcc 3.1 now offers both a C99 and a K&R traditional C preprocessor. This is the ISO C99 one.
|
96239 |
09-May-2002 |
obrien |
Gcc 3.1 now offers both a C99 and a K&R traditional C preprocessor. This is the traditional one.
|
95878 |
01-May-2002 |
obrien |
Add support for using the profiled versions of the C++ (and related) libs.
|
95294 |
23-Apr-2002 |
obrien |
Don't use "GCCDIR" as the multiple inclusion protector. Subdir Makefiles may want to override GCCDIR and this gets in the way.
|
94720 |
15-Apr-2002 |
obrien |
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
|
94448 |
11-Apr-2002 |
obrien |
In the cross case we need to provide TARGET_MACHINE.
|
94331 |
10-Apr-2002 |
obrien |
In the cross case we need to provide TARGET_MACHINE.
|
94328 |
10-Apr-2002 |
obrien |
Change YACCing.
Submited by: ru
|
94226 |
08-Apr-2002 |
obrien |
Fine! I cannot freaking take the bikeshed any more. These binaries will be static, peroid.
|
94005 |
06-Apr-2002 |
obrien |
Break some things used by the front-ends from Makefile.inc that cannot be used build-wide for GCC 3.1.
|
94004 |
06-Apr-2002 |
obrien |
Build and install collect2. This is needed for some C++ programs.
|
94003 |
06-Apr-2002 |
obrien |
Break some things out of Makefile.inc that cannot be used build-wide for GCC 3.1.
|
93955 |
06-Apr-2002 |
obrien |
Expand the toolchain a little bit.
Requested by: fjoe (collect2), des (protoize)
|
93874 |
05-Apr-2002 |
obrien |
A little more reorg.
|
93807 |
04-Apr-2002 |
obrien |
Minor reorg.
|
93806 |
04-Apr-2002 |
obrien |
Minor style tweak.
|
93801 |
04-Apr-2002 |
obrien |
Remove some local cruft that snuck in yesterday.
|
93744 |
04-Apr-2002 |
obrien |
Make the sed line a little bit more clear (it will get messier later).
|
93742 |
04-Apr-2002 |
obrien |
Set NOSHARED conditionally.
|
93741 |
04-Apr-2002 |
obrien |
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.
|
93740 |
04-Apr-2002 |
obrien |
Remove duplicate objc-parse.h. While we are at it, just spell it correctly as c-parse.h since that is how the consumers spell it.
|
93738 |
04-Apr-2002 |
obrien |
Get rid of GCC_ARCH, and just use plain TARGET_ARCH. We got rid of the MIPS le/be stuff that needed this a long time ago.
|
93709 |
03-Apr-2002 |
obrien |
Remove some 1996 GCC 2.6.3 cruft for building a shared cc_int lib.
|
92848 |
21-Mar-2002 |
obrien |
Properly get the version number after the 2.95.4 upgrade.
|
91559 |
02-Mar-2002 |
obrien |
Move the creation of the insn-*.c files from cc_tools to cc_int. This gets rid of a cross build problem we have because we build everything in cc_tools during the `make build-tools' (or `make depend') stage.
|
91190 |
24-Feb-2002 |
obrien |
Use libgcc_p.a when -pg is in effect.
I am committing this here rather than in gcc/config/freebsd.h because the profiled libgcc only exists with the native system compiler. It is not created by a stock FSF build and we will never be able to get these bits committed to the FSF CVS repo. Thus this is very much a FreeBSD "native" issue.
|
90993 |
20-Feb-2002 |
obrien |
Allow for better control over the GCC front-end when building a cross compiler.
* Undo the diking out of cross compiler logic from gcc.c rev 1.16. * Add the `CROSS_STARTFILE_PREFIX' knob. * Add our own definition of `STANDARD_INCLUDE_DIR'. This should have been included in freebsd-native.h rev 1.5. * Minimize a little bit more, things we dike out in the FREEBSD_NATIVE case.
Submitted by: ru & obrien
|
90952 |
20-Feb-2002 |
obrien |
Clean up the style a little bit.
|
90951 |
20-Feb-2002 |
obrien |
Do not define a 'MD_EXEC_PREFIX'. It is not needed, not used in the cross case, and just ends up causing "/usr/libexec" being added to the library search path.
Also remove misleading comment about 'STANDARD_EXEC_PREFIX'. It is needed if one does not set 'MD_EXEC_PREFIX'.
Submitted by: ru
|
84032 |
27-Sep-2001 |
obrien |
We need to build ``.depend'' early in the "build-tools" for the GCC "build-tools". If we do not do this, the "depend" stage of "buildworld" will build ``.depend'' and it will record the wrong library and header dependencies (DESTDIR=${WORLDTMP}). Even worse, the "all" stage may clobber build-architecture-format build tools built in the "build-tools" stage with target-architecture-format ones.
Submitted by: ru
|
83305 |
10-Sep-2001 |
obrien |
I am no longer the FreeBSD GCC maintainer.
|
81749 |
16-Aug-2001 |
obrien |
Add the `WANT_FORCE_OPTIMIZATION_DOWNGRADE' knob. If set to an integer value, it forces GCC to not optimize above this level. For intance, GCC made with "WANT_FORCE_OPTIMIZATION_DOWNGRADE=1" is a good setting for the Alpha platform when building ports.
|
75400 |
11-Apr-2001 |
obrien |
Remove MIPS support. It has rotted quite badly and no one has provided updates for it.
|
74861 |
27-Mar-2001 |
ru |
MAN[1-9] -> MAN.
|
74313 |
15-Mar-2001 |
obrien |
Note rules of enguagement.
|
73307 |
02-Mar-2001 |
obrien |
Include `dbxelf.h' via tm.h (the approved FSF/GNU way) vs. in our MI header.
|
73306 |
02-Mar-2001 |
obrien |
Define "FREEBSD_NATIVE" in the freebsd-native header to reduce the amount of stuff (and thus length of error output) we put on the invocation command line. Also follow the new FSF/GNU style of giving the symbol a value so it can be used in `if()' statements in addition to `#if' so seldomly compiled in code (on some platforms) gets compiled always, to help reduce bit-rot.
|
73297 |
01-Mar-2001 |
obrien |
Do not need to define "VERSION" here -- we do it on the command line.
|
73218 |
28-Feb-2001 |
obrien |
Allow "NOSHARED" to be overridden.
Submitted by: bde
|
72567 |
17-Feb-2001 |
obrien |
Make `cc' and `cpp0' staticly linked binaries in this development version of the OS.
|
70703 |
06-Jan-2001 |
obrien |
Use a unified libgcc rather than a seperate one for threaded and non-threaded programs. This provides threaded programs with the needed exception frame symbols.
parts submitted by: Max Khon <fjoe@iclub.nsu.ru> PR: 23252
|
70649 |
04-Jan-2001 |
obrien |
The preprocessor used by the `cc' driver is now named `ccp0' to make it clear this is the 1st pass of compilation and to make clear this particular cpp is for `cc's use only.
|
70318 |
23-Dec-2000 |
obrien |
Add `gcov' to the mix.
Requested by: David Malone <dwmalone@maths.tcd.ie> PR: 18574
|
69535 |
03-Dec-2000 |
obrien |
tm.h should include the platform specific ELF header if it exists.
|
68572 |
10-Nov-2000 |
obrien |
Add comment about a requirement in using a 64-bit `long' on i386.
|
68571 |
10-Nov-2000 |
obrien |
Link with libgcc_pic when building shared objects. (note we should not just use GCC's default LIBGCC_SPEC as it doesn't use the PIC version when linking shared)
Recomended by: jdp PR: 21983
|
68528 |
09-Nov-2000 |
obrien |
Found remaining -kthread option that [sort of] supported using the LinuxThreads port. Dike it out as it was removed from freebsd.h on 19-July-2000 as this option depended on bits not part of the base system and required people to install the LinuxThreads port in a manner non-consistent with the workings of our Ports Collection.
Requested by: jasone
|
61238 |
04-Jun-2000 |
obrien |
Scoot things over to the temporary *.295 source while I do major construction on the mainline sources.
|
60884 |
24-May-2000 |
obrien |
Move c-decl.c out of the common libcc_int.a into the binary Makefiles where it is used. c-decl has symbols that conflict with several of the cc1plus sources.
GNU `ld' was changed in Dec 1999 to be more be compatable with the way that other linkers work (specifically in the Solaris linker). The 2.9.1 `ld', did the Wrong Thing in that if a library contained a common symbol that matched a definition of that symbol in another (already linked in object) it would also be linked in, even if there was no other reason to do so. This is wrong. The library should only be linked in if it contains non-common, non-weak symbols which are needed by previously linked in objects.
|
60598 |
15-May-2000 |
bde |
Don't forget to clean f77.1.
Don't use "+=" for variables that are only set once.
|
58954 |
02-Apr-2000 |
steve |
Enable Haifa on sparc64 as well.
|
58478 |
23-Mar-2000 |
obrien |
Clean up the FreeBSD configuration files -- includes removing the usage of svr4.h on the i386, and moving all the shared arch neutral bits into the FreeBSD general config header.
|
58318 |
19-Mar-2000 |
obrien |
Make the SUBDIR list more granular to assist in my GCC hacking.
|
58086 |
15-Mar-2000 |
obrien |
Make the build-tools objects weirder named so one can tell there is something special going on here.
|
57965 |
13-Mar-2000 |
obrien |
Move some cflag contents down to where they are acutally used.
|
56806 |
29-Jan-2000 |
obrien |
"Rev.1.45 of cc_tools/Makefile was a wrong fix for a problem introduced in rev.1.44 (the egcs to gcc switch). The problem is that print-rtl.o is now needed to build some tools, but it wasn't added to the list of objects which are specially handled because they are prerequisites for tools."
Submitted by: bde
|
56730 |
28-Jan-2000 |
jasone |
Track internal(!) libc symbol naming change.
|
56552 |
24-Jan-2000 |
obrien |
Merge cc_drv into cc_int. Merge more shared files into cc_int.
|
56521 |
24-Jan-2000 |
obrien |
Simply cc_tools/Makefile by moving the parser generation to the respective backends.
|
56513 |
24-Jan-2000 |
obrien |
Style change to better match src/lib/'s Makefiles.
|
56497 |
23-Jan-2000 |
obrien |
I *hate* using "i" in variables, looks too much like "1" or "l".
|
55960 |
14-Jan-2000 |
obrien |
This patch solves the a cross-build problem where proj.c is both used by a build-tools target and by the actual target. In a cross-building situation proj.o is both a native object and a cross-object (i.e., for the target arch) and thus doesn't work. Creating seperate opjects from the same source file solves this...
This patch may also fix the following issue:
> it looks like -DNOCLEAN doesn't work too well. > cd /usr/src/gnu/usr.bin/cc/f771; make build-tools > make: don't know how to make /usr/obj/usr/src/i386/usr/include/stdarg.h. Stop
This seems caused by wrong dependency information. Dependency information shouldn't be created for build-tools sources.
Submitted by: marcel
|
55870 |
13-Jan-2000 |
obrien |
Make mktemp.c a "normal" C implimentation when building this library.
|
55803 |
11-Jan-2000 |
obrien |
Drop the use of Bison for Byacc now that we don't need to depend on the --broken-undeftoken-init Bison 1.25 bug.
|
55388 |
04-Jan-2000 |
obrien |
Turn on a new /usr/bin/cpp that is a true binary rather than a shell script wrapper. /usr/bin/cpp knows about all the GCC predefined symbols and has the functionality of the previous EGCS 1.1.2 /usr/libexec/cpp.
|
55317 |
02-Jan-2000 |
obrien |
Didn't get these PREFIX specifiers removed with Makefile.inc rev 1.48.
Submitted by: marcel
|
55220 |
29-Dec-1999 |
obrien |
Allow the specification of a prefix for gcc to find all the various bits. If one wishes to anchor the compiler toolchain tree somewhere other than /, all one needs to do is set "TOOLS_PREFIX" to a different rooting.
Submitted by: marcel (in a different format and reworked by me)
|
54991 |
22-Dec-1999 |
obrien |
Fix cut-n-paste braino.
|
54990 |
22-Dec-1999 |
obrien |
Reduce the FreeBSD custom hacks to gcc.c by using the GCC provided methods of changing the search dirs. This also removes an used search dir, removes unneeded redundancy, and a bugus dir we enherited on the i386 by baseing off of svr4.h.
We went from: install: /usr/libexec/(null) programs: /usr/libexec/<OBJFORMAT>/:/usr/libexec/:/usr/bin/:/usr/libexec/ libraries: /usr/libdata/gcc/:/usr/libexec/:/usr/ccs/lib/:/usr/lib/
to: install: /usr/libexec/(null) programs: /usr/libexec/<OBJFORMAT>/:/usr/libexec/ libraries: /usr/libexec/:/usr/lib/
|
54988 |
22-Dec-1999 |
obrien |
Another style nit.
|
54987 |
22-Dec-1999 |
obrien |
* Support a non-default sized `long' data type. This allows one to easily build the compiler with a 64-bit longs on the i386. * Comment an important dependancy. * Fix some style nits
Submitted by: bde
|
54986 |
22-Dec-1999 |
obrien |
* Remove debugging cruft that accidently got committed. * Support mixed OBJDIR handling such .a's are properly found with a mix of obj subdirs both w/in and outside the source tree works. Requested by BDE.
|
54837 |
19-Dec-1999 |
obrien |
Add libcc_fbsd.a that contains libc and libiberty routines needed in bootstraping on FreeBSD specifically.
3.2 upgrade path tested by: marcel
|
54317 |
08-Dec-1999 |
obrien |
Revert rev 1.8.
NOT Approved by: obrien
|
54313 |
08-Dec-1999 |
marcel |
Maintain compatibility with FreeBSD versions that don't have mkstemps
|
53825 |
28-Nov-1999 |
marcel |
remove cc1obj from the original SUBDIR list since it's made optional in the previous commit resulting.
Forgotten by: obrien
|
53787 |
27-Nov-1999 |
obrien |
Make ObjC bits optional. NO_OBJC ==> don't need `em.
|
53443 |
20-Nov-1999 |
obrien |
mkstemps() has been brought into 3-STABLE, so this isn't needed here anymore as building -CURRENT sources on 3-STABLE was the reason for the previous revision adding this.
Note that since the GCC Project moved mkstemp.c from GCC's world to libiberty, we no longer support building -CURRENT sources on non-FreeBSD boxes unless that box has a very simular libc mix as FreeBSD.
|
53442 |
20-Nov-1999 |
obrien |
Remove the `sysctl' get osversion hack. There are issues with cross-hosting builds, Also, `sysctl' is not a build-tool and I'd rather not make it one. 3-STABLE has been updated to deal with the main reason this came in.
|
53280 |
17-Nov-1999 |
obrien |
Build genrtl.h before print-rtl.o.
Submitted by: John Hay <jhay@mikom.csir.co.za> (basic idea, changed by me)
|
53267 |
17-Nov-1999 |
obrien |
Allow sub-Makefile's to determine the version of the OS we are make'ing on.
|
53266 |
17-Nov-1999 |
obrien |
Add `mkstemp.c' to the mix if we are building on something older than __FreeBSD_version < 400004.
This allows -STABLE to build -CURRENT sources.
[mkstemps() was added to -current just before the version bump to 400004 (a matter of hours in this case), so the test is as exact as possible.]
Submitted by: marcel
|
53173 |
15-Nov-1999 |
obrien |
Cut over the system compiler from from EGCS 1.1.2 to GCC 2.95.2.
|
53161 |
15-Nov-1999 |
obrien |
Purely cosmetic changes to lineup targets.
|
53160 |
15-Nov-1999 |
obrien |
Cosmetic removeal of a trailing white space.
|
52914 |
06-Nov-1999 |
obrien |
Our capibilities updated for GCC 2.95.2.
|
52861 |
04-Nov-1999 |
obrien |
Minor cosmetic changes in an attempt to improve consistancy.
|
52648 |
30-Oct-1999 |
obrien |
`make' will fail if hash.h exists for some reason and gxx-hash needs to be rebuilt. Fix this.
Submitted by: bde
|
52172 |
12-Oct-1999 |
obrien |
Add a comment explaing the linking and segrated the old and new cases a little.
|
52171 |
12-Oct-1999 |
obrien |
Change the name of the file generaged from gxx.gperf from "hash.h" to "gxx-hash.h" with hopes of getting Cygnus to do the same. We create a link to the old name for now.
|
52170 |
12-Oct-1999 |
obrien |
Move -I of cc_tool/ before the GCCDIR ones.
When I imported EGCS into contrib/egcs/ I failed to prune out egcs/gcc/cp/hash.h which is generated from gxx.gperf. Thus `cc1plus' wasn't using the hash.h we generated by cc/cc_tools/Makefile, but rather the one in egcs/gcc/cp/.
When I imported contrib/gcc/ I did prune gcc/cp/hash.h. Unfortunately the GCC maintainers weren't smart on their file nameing and there is also a egcs/gcc/hash.h (name overloading does NOT work as well on the filesystem as in C++...). Due to the -I ordering we are were then picking up gcc/hash.h when compiling `cc1plus'.
|
50472 |
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
50064 |
19-Aug-1999 |
peter |
Make gcc work on the Alpha again. alpha/alpha.h is used instead of svr4.h
|
49885 |
16-Aug-1999 |
obrien |
Rev 1.36 also includes functional chagnes I intended to commit seperately. Configuration header inclusion has been moved around to reduce diffs from the offical GCC distribution. We now generate the same ``tm.h'' produced by gcc's `configure' script [minus all the "#ifdef IN_GCC"'s].
Jeff Law of EGCS/Cygus says the new "approved" way of doing configure-related includes is to list them all in ``tm.h'' rather than having the architure config headers include large numbers of other configure headers.
|
49864 |
16-Aug-1999 |
obrien |
Purely cosmetic cleanups. - Id tag layout wrong. - "FOO =" -> "FOO=". - 4 space indention on continuation lines rather than a <tab>
Basic idea checked by: bde
|
49853 |
15-Aug-1999 |
obrien |
Move "LIBGCC_SPEC" to freebsd-native.h as it is not approapiate for submitting to the GCC mainainers for folding into the stock GCC.
|
49811 |
14-Aug-1999 |
obrien |
Use Bison with "--broken-undeftoken-init".
|
49810 |
14-Aug-1999 |
obrien |
Rather than deleting the grammer files during building, move them out of the way. This way they are available for inspection when debugging problems.
|
49510 |
08-Aug-1999 |
bde |
Forgotten in previous log message:
PR: misc/12920
|
49509 |
08-Aug-1999 |
bde |
Install c++filt in /usr/libexec/${OBJFORMAT}. The version that was installed in /usr/bin normally got clobbered when objformat was installed. Indirection through objformat is correct although underscore handling is the only thing that differs for aout and elf -- going through objformat is the easiest way to set c++filt's underscore handling flag correctly.
|
49347 |
01-Aug-1999 |
obrien |
Only use Bison to generate cc1plus's parse code.
|
49213 |
29-Jul-1999 |
obrien |
Go back to using Bison for now, due to `make world' breakage.
BTW, if our src/contrib/bison is upgraded from 1.25 to the current 1.27 offering, the build breaks exactly the same way....
|
49152 |
28-Jul-1999 |
obrien |
Use Yacc rather than Bison.
|
49151 |
28-Jul-1999 |
obrien |
The Unix way is arguments come before an input file name, not after.
|
48562 |
04-Jul-1999 |
bde |
Don't override the (correct) default for BINDIR.
|
46157 |
28-Apr-1999 |
obrien |
Rather than hack config/freebsd.h to contain our hacks for a native compiler, just include them in tm.h (as built from cc/cc_tools/Makefile).
This will reduce the diffs from the vendor sources.
Excellent idea by: jdp
|
46070 |
25-Apr-1999 |
obrien |
use `target' macro crafted in parent Makefile rather than making our own
Submitted by: Warner Losh
|
46069 |
25-Apr-1999 |
obrien |
Hookup FORTRAN info docs.
Submitted by: Mark Murry
|
45944 |
22-Apr-1999 |
obrien |
Sorry didn't get this in the last commit: MACHINE_ARCH changes courtesy of Warner Losh <imp@village.org>. (he's got plans for FreeBSD mips :-))
|
45943 |
22-Apr-1999 |
obrien |
Use `GNU_ARCH' in most places where `MACHINE_ARCH' was used. Building for mips has some particularlies.
|
45928 |
22-Apr-1999 |
obrien |
Have config/i386/freebsd.h directly include att.h. I have no idea why stock EGCS doesn't just do this. None of the rest of our other platforms will need this file.
|
45767 |
18-Apr-1999 |
obrien |
Add FORTRAN support.
|
45766 |
18-Apr-1999 |
obrien |
Move HAVE_CONFIG_H define to global cc/ Makefile so all can share the benifits.
|
45765 |
18-Apr-1999 |
obrien |
*** empty log message ***
|
45764 |
18-Apr-1999 |
obrien |
Use inherited BINDIR defintion.
|
45763 |
18-Apr-1999 |
obrien |
Include the parent Makefile.inc so we get a proper BINDIR definition.
As explained by: bde
|
45762 |
18-Apr-1999 |
obrien |
Hookup the new FORTRAN compiler. Define `NO_FORTRAN' to not compile it.
|
45761 |
18-Apr-1999 |
obrien |
Add the EGCS g77 FORTRAN compiler.
|
45760 |
18-Apr-1999 |
obrien |
Minimum change to convert from home-grown f77 to EGCS's g77. (Pre-bdelinted)
|
45757 |
18-Apr-1999 |
obrien |
Make room for g77.
|
45659 |
13-Apr-1999 |
markm |
As the INFO stuff un doc/ works, we may as well build/install it.
OK'ed by: obrien
|
45583 |
11-Apr-1999 |
bde |
Cleaned up egcs changes (mainly to minimise diffs with the gcc version and restore order to sorted lists).
|
45582 |
11-Apr-1999 |
bde |
Fixed unusable dependencies in `.depend'. The following comment in the code still applies, but the code attached to it had rotted:
# ../Makefile.inc will put an absolute path to our objdir in CFLAGS. # Prevent mkdep from using it, so that we don't have to give rules for # aliases of generated headers.
Many other makefiles seem to have the same bug (i.e., spelling "." as "${.OBJDIR}" or as an even more complicated alias in -I directives).
|
45519 |
09-Apr-1999 |
bde |
Fixed world breakage. Fixed (?) building with -jN (N > 1).
The previous commit made things worse by breaking the -j0 case and moving around the breakage for the -jN case. The fix involves restoring .ORDER statements that were deleted in the previous commit, removing wrong special handling of tree-check.h, and rewriting the generation of fudged dependencies based on an idea I got from the previous commit (filter out problematic objects first).
|
45500 |
08-Apr-1999 |
obrien |
Another fix for -jN building -- the last fix didn't fix it for everybody.
Submitted by: Luoqi Chen <luoqi@watermarkgroup.com>
|
45481 |
08-Apr-1999 |
peter |
Clean up some stuff that's no longer used.
|
45480 |
08-Apr-1999 |
peter |
Clean up the multilib stuff so that it actually works.. cc -aout now works again.
|
45469 |
08-Apr-1999 |
obrien |
Remove some of the dependencies. This removes the cycles I was getting on `make -j 8' builds.
|
45467 |
08-Apr-1999 |
obrien |
Due to other explicit dependancies, don't treat tree-check.h as a SRCS.
|
45466 |
08-Apr-1999 |
obrien |
Fix a circular dependancy.
|
45456 |
08-Apr-1999 |
obrien |
alpha/freebsd-elf.h is being folded into alpha/freebsd.h
Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
|
45389 |
06-Apr-1999 |
obrien |
Use Haifa scheduler on the Alpha.
|
45340 |
05-Apr-1999 |
peter |
Fix type mismatch..
|
45333 |
05-Apr-1999 |
obrien |
Correct contents for the EGCS compiler documentation. Currently it is unbuildable, but an info-aware developer should be able to get this working w/o too much trouble.
|
45307 |
04-Apr-1999 |
obrien |
Conditionalize one more i386'ism.
|
45305 |
04-Apr-1999 |
obrien |
Attempt at creating the right ``tm.h'' file for the Alpha.
|
45304 |
04-Apr-1999 |
imp |
Remove mkstemp.c from build. This is now in libc.
Tested by: make buildworld
|
45301 |
04-Apr-1999 |
obrien |
didn't get latest version: Don't conditionalize -I${.CURDIR}/../cc_tools
|
45299 |
04-Apr-1999 |
obrien |
Minimum set of changes to switch from Gcc 2.7.2 (in contrib/gcc) to Egcs 1.1.2 (in contrib/egcs)
|
45250 |
02-Apr-1999 |
obrien |
`make world' works fine -- no reason to revert the move to gnu/lib/
|
45169 |
31-Mar-1999 |
obrien |
Hookup libgcc at gnu/lib instead of gnu/usr.bin/cc (libgcc was repository copied for me by Peter)
|
42731 |
16-Jan-1999 |
peter |
Remove BINFORMAT/a.out/elf default hackery, it's elf by default internally and doesn't need to use this.
|
42450 |
09-Jan-1999 |
jdp |
Switch to using ".So" as the extension for PIC object files rather than ".so". The old extension conflicted with well-established naming conventions for dynamically loadable modules.
The "clean" targets continue to remove ".so" files too, to deal with old systems.
|
40663 |
26-Oct-1998 |
imp |
Another instance where we default to elf only on alpha, but should default to aout only on i386.
|
40457 |
16-Oct-1998 |
bde |
Split up rule for ${COMMONHDRS} so that `make -j N' doesn't create the 6 headers up to 6 times concurrently. Debugged by Don Lewis (Don.Lewis@tsc.tdk.com).
Fixed some disorder.
|
39998 |
06-Oct-1998 |
peter |
Replace use of non-standard ld -O with a ld -o / mv combination as used elsewhere in the tree. Binutils doesn't support the -O hack^H^H^H^H extension. (actually, it ignores it for option compatability with some other OS).
|
38462 |
20-Aug-1998 |
jb |
Make the build tools static to avoid trying to use the shared loader before it is installed.
This upsets Bruce because the host boostrap build forces tools to be static anyway. He says I'm abusing NOTOOLS in src/Makefile by using it to do a aout->elf transition build. One day I'll find a place to install host tools like these to allow a true cross build.
|
37854 |
24-Jul-1998 |
phk |
During compilation of a Fortran program f2c/f77 will spew the name of entry points, functions, subroutines, and program to stderr error. The enclosed patches do 3 things:
(1) Silenced the output to stderr. (2) Added a -v option to f2c and f77. This will turn on a verbose mode, and dumps quite a bit of stuff to stderr. (3) Updated the f2c man page.
PR: 7369 Submitted by: Steven G. Kargl <kargl@troutmask.apl.washington.edu>
|
37488 |
08-Jul-1998 |
bde |
Use a different hack for building libgcc2: `XCC= ${CC}' instead of `XCC= <relative cc> -B<path to relative cc1> ...'. This is equivalent when cc and cc1, etc. have just been bootstrapped by `make world'. The relative versions normally won't work if the target system is not binary compatible. Bootstrapping different versions of gcc without going through `make world' is slightly more broken than before.
Uniformized macro names (P1OBJS -> LIB1POBJS, etc.).
Don't give full paths to sources.
|
37486 |
08-Jul-1998 |
bde |
Use the installed versions of cc, cc1 and cpp for building underscore. They have been bootstrapped by `make world' since long before the hacks here were cloned from ../libgcc/Makefile. The versions just built in "../*" normally won't work if the target system is not binary compatible.
Don't use OBJS to defeat `make depend'; just put generated sources in SRCS.
Added temporary files to CLEANFILES.
|
37460 |
07-Jul-1998 |
bde |
Added a `build-tools' target for internal tools.
|
35693 |
04-May-1998 |
bde |
Simplified using new yacc rules. This is cosmetic - the old rules worked with `make -jN' because they did the right things to generate cexp.h without clobbering cexp.c, and there were no missing dependencies on cexp.h because cexp.h isn't actually used.
Fixed style bugs.
|
35402 |
23-Apr-1998 |
bde |
Fixed missing dependencies. The critical missing one was of bi-lexer.o on bi-parser.h. Not having it sometimes (only with `make -j') triggered a bug suite that led to ordinary cpp output being put in .depend files. Various bugs (the main one only with `make -j') prevented timely detection of failure to build and install gnu/usr.bin/cc. Eventually the missing ${WORLDTMP}/usr/libexec/cpp caused ${WORLDTMP}/usr/bin/cpp to be invoked by cc, and this version of cpp is not suitable for such invocation. Ordinary cpp output was put in .depend files when cpp terminated options processing before seeing the -M flag.
Cleaned up.
|
34814 |
23-Mar-1998 |
bde |
Support building of libgcc.a without building all of gcc. This is useful for bootstrapping. Compatible versions of gcc and cc1 should should be installed before using this feature.
|
34813 |
23-Mar-1998 |
bde |
Honour -static in LDLAGS. ld without -Bstatic is happy to choose static libraries if there are no shared libraries in the search path, but gcc without -static blindly attempts to link crt0.o.
|
34656 |
18-Mar-1998 |
obrien |
I goofed on the `LINKS' syntax. Submitted by: Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>
|
34515 |
12-Mar-1998 |
bde |
Fixed `make -jN depend' (N >= 2) by removing the beforedepend target. .ORDER doesn't work right, but is used for things related to the depend target. It "works" for the depend target by skipping the build of .depend when N >= 2 and there is a non-default beforedepend target with no rules. Recent fixes made almost all the beforedepend targets in the tree a no-op except for this bug.
Removed vestiges of elf and aout targets.
|
34282 |
08-Mar-1998 |
obrien |
add `CC' as a link to `c++' for compatablity with SGI.
|
34229 |
08-Mar-1998 |
peter |
First round of changes to support generation of assembler for the old a.out gas and the binutils gas (elf or a.out) with a single compiler.
This uses other infrastructure not yet committed, in order to support both a.out and elf it needs to be able to get to both a.out and elf gas, ld, libs, crt* etc. So for now, the support is pretty much dormant.
The new freebsd.h file is based on the old freebsd-elf.h file (which has a long lineage, right back through linux and svr4 files). The change is pretty dramatic from a gcc internals standpoint as it overrides a lot of definitions in order to generate different output based on target mode. There is potential for screw-ups, so please be on the lookout - gcc's configuration mechanism wasn't really meant for this kind of thing. It's believed to compile world etc just fine under both a.out and elf, can handle global constructors and destructors, handles the differences in a.out and elf stabs, and what sections things like exceptions go in.
The initial idea came from i386/osfrose.h which is a dual rose/elf format target. These two are not as diverse as a.out and elf it would seem.
The cc front-end uses external configuration to determine default object format (still being thrashed out, so read the source if you want to see it so far), and has a '-aout' and '-elf' override command line switch. There are some other internal switches that can be accessed, namely -maout, -mno-aout, -munderscores and -mnounderscores. The underscore and local symbol prefixing rules are controllable seperately to the output format. (ie: it's possible to generate a.out without the _ prefixes on symbols and also to generate elf with the _ prefixes. This isn't quite optimal, but does seem to work pretty well, except the linkers don't always recognise the local symbols without their normal names)
The default format is a.out (still), nobody should see any major changes.
With both elf and a.out tools and libraries installed:
[1:26pm]/tmp-223> cc -elf -o hello hello.c peter@beast[1:27pm]/tmp-224> file hello hello: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked, not stripped [1:27pm]/tmp-225> ./hello hello world!
[1:27pm]/tmp-226> cc -aout -o hello hello.c [1:27pm]/tmp-227> file hello hello: FreeBSD/i386 compact demand paged dynamically linked executable not stripped 1:27pm]/tmp-228> ./hello hello world!
Since my co-conspirators put a lot of effort into this too, I'll add them so they can share the blame^H^H^H^H^Hglory. :-)
Reviewed by: sos, jdp
|
34112 |
06-Mar-1998 |
bde |
Fixed `make -jN' for large N. The usual method of pretending that all objects depend on all generated headers doesn't work because it gives cyclic dependencies. Give enough dependencies explicitly. We no longer need to use .SINGLESHELL for `make depend'. .SINGLESHELL was more of a bottleneck than usual because `make depend' makes everything.
Fixed some spelling and English errors.
|
32763 |
25-Jan-1998 |
jb |
Change MACHINE -> MACHINE_ARCH so that the design make sense on those machines where the processor chip determines the compiler, and where multiple machines use the same architecture.
|
32423 |
11-Jan-1998 |
jb |
More i386 -> ${MACHINE} changes to make this Makefile machine independent. It makes it look like you can get aout on alpha, but that's just your imagination. The makefile above gives you no choice.
|
32422 |
11-Jan-1998 |
jb |
Replace i386 references with ${MACHINE} to make this makefile almost machine independent, with the only dependency being the binary format to build. We only expect to build ELF on alpha although we'll need ECOFF compatibility with Digital Unix.
|
31820 |
17-Dec-1997 |
bde |
<bsd.prog.mk> has included ../Makefile.inc for a long time, and there are no complications involving .PATH or dependencies, so don't include it here.
|
30113 |
05-Oct-1997 |
jkh |
Changes to support full make parallelism (-j<n>) in the world target. Reviewed by: <many different folks> Submitted by: Nickolay N. Dudorov" <nnd@nnd.itfs.nsk.su>
|
27040 |
29-Jun-1997 |
pst |
NOSHARED takes a yes/YES no/NO value, not "true, false, hey mon!". NOPIC is used to not generate a shared library, not NOSHARED. Make NOSHARED advisory where appropriate. Remove bogus NOSHARED (kbdio).
|
24336 |
28-Mar-1997 |
jdp |
Change a "=" to "?=" to make it easier to override the binary format from the environment.
|
22996 |
22-Feb-1997 |
peter |
Revert $FreeBSD$ to $Id$
|
21928 |
21-Jan-1997 |
jkh |
Remove incorrect use of double-negative since it means the same thing to make but perhaps not to the human reading it.
|
21673 |
14-Jan-1997 |
jkh |
Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
|
21635 |
13-Jan-1997 |
wosch |
Sort cross references.
|
21508 |
11-Jan-1997 |
jmacd |
Add the missing annotations.
|
18913 |
13-Oct-1996 |
peter |
Build/install c++filt from g++, we already have all the sources and it's and useful. (Ever tried to read 'nm' and 'ldd -v' output on a c++ object or library? :-) This filter decodes the mangled symbol names.)
Requested by: Chuck Robey <chuckr@glue.umd.edu>
|
18609 |
01-Oct-1996 |
peter |
Resync the libgcc functions list with the 2.7.2.1 tree. We were building a (now) defunct routine that no longer exists (causing an empty .o file), and were missing some others. Some of the ones we were missing are no-ops on the i386, so there are now 4 empty .o files.
(It seems that libc/quad has got some defunct functions now)
|
18607 |
01-Oct-1996 |
peter |
Don't build config/i386/i386.o in the src/contrib/gcc tree..... :-]
|
18477 |
23-Sep-1996 |
bde |
cpp was named ccp.
|
18473 |
23-Sep-1996 |
peter |
Crude hack to work around cpp.1 doing a .so man1/cccp.1
Pointed out by: Warner Losh <imp@village.org>, PR#1667
|
18447 |
21-Sep-1996 |
jkh |
Nuke a trailing .endif which survived Peter's last edits.
|
18441 |
21-Sep-1996 |
peter |
Remove the partial support for a shared -lcc_int, since it's been unusable for a fair while. cc1, cc1plus etc have been linked static for some time.
|
18390 |
19-Sep-1996 |
peter |
Man the lifeboats! Tie down the hatches! Red alert! Activate gcc-2.7.2.1!
(the old cc has been tagged with "gcc_2_6_3_final" so we have a reference point in case of unforseen disasters...)
This has the objc backend active, and I think I've managed to get the f77 f2c support through in one piece, but I don't know fortran to test it.
A 'make world' change and libobjc commit will follow.
If you normally do 'make -DNOCLEAN world', do not do so this time, I know it can fail with groff.
This version of gcc makes a **LOT** more warnings on our kernel.
|
17142 |
12-Jul-1996 |
jkh |
General -Wall warning cleanup, part I. Submitted-By: Kent Vander Velden <graphix@iastate.edu>
|
16663 |
24-Jun-1996 |
jkh |
Bring in my changes for removing the pestilent obj links (unless you really want them) from /usr/src. This is the final version of the patches, incorporating the feedback I've received from -current.
|
15956 |
28-May-1996 |
phk |
Make rules reentrant.
|
15679 |
07-May-1996 |
wosch |
``mv'' -> ``mv -f'' ``rm'' -> ``rm -f'' so mv/rm may not ask for confirmation if you are not root
|
14830 |
27-Mar-1996 |
joerg |
f2c's -krd does not work with f77 wrapper Closes PR # gnu/1101
Submitted by: kargl@troutmask.apl.washington.edu (Steven G. Kargl)
|
14003 |
09-Feb-1996 |
mpp |
Add some missing MLINKS, correct some cross references, correct some file locations and some minor formatting/style problems.
|
13458 |
16-Jan-1996 |
graichen |
Reviewed by: jmz (Jean-Marc Zucconi) added a simple man-page for our f77 (f2c/gcc driver)
|
13209 |
04-Jan-1996 |
jkh |
Work around optimizer strength reduction bug. Submitted by: Richard Henderson <richard@atheist.tamu.edu> Obtained from: bug-gcc@prep.ai.mit.edu
|
13018 |
26-Dec-1995 |
bde |
Enabled my FUNCTION_PROFILER_EPILOGUE code and added option -mprofiler-epilogue to support it and documented the option.
cc.1: Listed all the machine-dependent options, even the temporary debugging ones.
invoke.texi: Fixed the sense of -mno-ieee-fp. Sorted the machine-dependent options.
|
11557 |
18-Oct-1995 |
dg |
When building -static, link with special scrt0.o instead of crt0.o. This reduces the text size by about 1.5Kbytes.
|
11135 |
02-Oct-1995 |
wollman |
Make cc1plus smaller and faster as was done for cc1 by linking static.
|
11117 |
01-Oct-1995 |
dg |
Build cc1 nonshared. This actually results in it consuming 40K *less* disk space and improves compile times by a few percent.
|
10953 |
22-Sep-1995 |
phk |
Stop using gnumalloc.
|
9910 |
04-Aug-1995 |
joerg |
Make only a `-r' flag (as opposed to `-r*') special within the LINK_SPEC. This solves a problem with the f77 frontend where aproviding the -r8 option (use REAL*8) caused `cc' to ``forget'' to pass the entry point to the linker.
Closes PR #gnu/644: f77 -r8
Reviewed by: watanabe@komadori.earth.s.kobe-u.ac.jp (Takeshi WATANABE)
|
9497 |
12-Jul-1995 |
bde |
Fix dependencies for gcc.info and reno.info. `make depend' doesn't handle info files although texinfo supports @include.
|
8858 |
30-May-1995 |
rgrimes |
Remove trailing whitespace.
|
8562 |
17-May-1995 |
rgrimes |
Make error message for no input files specified consistent across all three compilers.
Submitted by: Thomas Graichen <graichen@sirius.physik.fu-berlin.de>
|
7115 |
17-Mar-1995 |
nate |
Gcc v2.6.3 currently has a problem with templates. Specifically, with default switches, template functions get EXTERNAL linkage in each file in which they occur, causing multiple definition errors during linking. The enclosed patch (from gnu.g++.bug) appears to solve the problem (I enclose the accompanying message as well).
This patch fixes the multiply defined template functions bug which was introduced in 2.6.1.
Submitted by: "Justin T. Gibbs" <gibbs@estienne.cs.berkeley.edu> Obtained from: Jason Merrill at cygnus support on G++ mailing list
|
7048 |
13-Mar-1995 |
ache |
Bump SHLIB_MAJOR to 263 to match ../Makefile.inc
|
7040 |
12-Mar-1995 |
phk |
Don't install shared libgcc, we can't do it this way. I will uuencode and check in to a "compat20" area the 2.0-RELEASE version.
|
7024 |
12-Mar-1995 |
bde |
Remove the last vestige of COMMENT_BEGIN.
|
7023 |
12-Mar-1995 |
bde |
Undo most of the changes in the gcc-2.6.3 "upgrade" - Don't define NO_IMPLICIT_EXTERN_C here. It is already the default (defined in i386/bsd.h). - Don't lose the fixed comment about FUNCTION_PROFILER. - Don't lose the define of NO_PROFILE_DATA.
Replace the unused define of COMMENT_BEGIN by the less-unused define of ASM_COMMENT_START. COMMENT_BEGIN was only defined in i386-specific files and was not used in any part of gcc-2.6.3. ASM_COMMENT_START is defined for several targets and is used for stuff that we don't support (dwarf).
|
7019 |
12-Mar-1995 |
phk |
Remove a bunch of funtions that are in libc already. Add back the shared libgcc, now that we don't use it to link against.
|
6997 |
11-Mar-1995 |
nate |
Added support for #pragma weak.
Obtained from: NetBSD
|
6996 |
11-Mar-1995 |
nate |
Updated the sources to gcc 2.6.3 with FreeBSD changes already applied. Note: This isn't the most correct way, but it works and it's fast.
|
6986 |
10-Mar-1995 |
dg |
Define LINK_LIBGCC_SPECIAL_1 so that gcc will build static with libgcc.
|
6979 |
10-Mar-1995 |
phk |
Since we are in the gcc bashing mood anyway: Add two changes for basic-block profiling: 1. use a .stabs(25) symbol to link all the data structures together with. The regular method isn't safe for the kernel. 2. add a BB before the prologue and add a BB after the epilogue, this alows us to find the length of any counted BB. This is a cheap and somewhat reasonable measure of actual cost.
|
6933 |
06-Mar-1995 |
jkh |
We can't bail out on generating the pic archive yet. Submitted by: bde
|
6930 |
06-Mar-1995 |
phk |
Don't make the shared libgcc. I don't belive we need the libgcc_pic.a anymore, so I killed that as well.
|
6906 |
05-Mar-1995 |
phk |
"Various very violent dissections disables dysfunctional disinformed namei's, needlessly negating namei cache."
These hacks cuts the number futile attempts made by cc and ccp to find cross-compilers and other weird stuff. A make of the BOOTFLP kernel has 20% less namei calls now, that is from 30647 down to 24563 calls.
|
5782 |
22-Jan-1995 |
ache |
Add doc subdir
|
5781 |
22-Jan-1995 |
ache |
Add missing infopages
|
5238 |
26-Dec-1994 |
ats |
Install also a gcc.1 manual page as a link from cc.1, as long as we have the link cc to gcc.
|
4526 |
16-Nov-1994 |
ljo |
Added NO_IMPLICIT_C as our header files in standard locations are either already C++ safe, or C++ header files. This fixes the problem with parse errors in header files when compiling C++ files. Recompiling libg++ also solves the undefined synbols problem.
|
4491 |
15-Nov-1994 |
phk |
Integrated GCC-2.6.1 -> GCC-2.6.2 changes.
Notice that the libgcc DOESN'T change number, because there are no changes.
Also now the gnu2bmake stuff is synchronized again.
I commit this so that others can test too.
You might want to postpone any "make worlds" until tomorrow, to avoid any problems I didn't see in the first pass.
Thanks to Bruce for rounding up our changes to gcc.
|
4226 |
07-Nov-1994 |
phk |
As pointed out by Paul Traina, we need the libs to be 261.0 not 26.1.
|
4215 |
06-Nov-1994 |
bde |
Restore my fixes to 2.6.0. The changes should not affect anything except profiling and wchar_t. Profiled libraries will shrink.
tm.h: Our wchar_t is int, not unsigned short. Always link statically if profiling. Define all the SPECs together.
final.c, tm.h: Don't emit unused profiling code and data.
aux-output.c: Always preserve the PIC register if profiling.
aux-output.c, tm.h: Implement FUNCTION_PROFILER_EPILOGUE (currently not used).
New: tm.h: Set the target defaults in the correct way.
|
4144 |
04-Nov-1994 |
phk |
Explicitly tell cpp where to look for include files.
|
4126 |
03-Nov-1994 |
phk |
Bump the version-number of the "shared-gcc-internals" library. Will only affect you if you decided to use that feature.
|
4115 |
03-Nov-1994 |
jkh |
Remove obsolete __386BSD__ predefine.
|
4113 |
03-Nov-1994 |
phk |
---------------------------------- GCC-2.6.1 COMES TO FREEBSD-current ---------------------------------- Everybody needs to 'make world'.
Oakland, Nov 2nd 1994. In a surprise move this sunny afternoon, the release- engineer for the slightly delayed FreeBSD-2.0, Poul-Henning Kamp (28), decided to pull in the new version 2.6.1 of the GNU C-compiler. The new version of the compiler was release today at noon, and hardly 9 hours later it was committed into the FreeBSD-current source-repository. "It's is simply because we have had too much trouble with the version 2.6.0 of the compiler" Poul-Henning told the FreeBSD-Gazette, "we took a gamble when we decided to use that as our compiler for the 2.0 release, but it seems to pay of in the end now" he concludes. The move has not been discussed on the "core" list at all, and will come as a surprise for most Poul-Hennings peers. "I have only discussed it with Jordan [J. K. Hubbard, the FreeBSD's resident humourist], and we agreed that we needed to do it, so ... I did it!". After a breath he added with a grin: "My email will probably get an all time 'disk-full' now!". This will bring quite a flag-day to the FreeBSD developers, the patch-file is almost 1.4 Megabyte, and they will have to run "make world" to get entirely -current again. "Too bad, but we just had to do this." Was the only comment from Poul-Henning to these problems. When asked how this move would impact the 2.0 release-date, Poul-Hennings face grew dark, he mumbled some very Danish words while he moved his fingers in strange geometrical patterns. Immediately something ecclipsed the Sun, a minor tremor shook the buildings, and the temperature fell significantly. We decided not to pursure the question.
----------- JOB-SECTION ----------- Are you a dedicated GCC-hacker ? We BADLY need somebody to look at the 'freebsd' OS in gcc, sanitize it and carry the patches back to the GNU people. In particular, we need to get out of the "i386-only" spot we are in now. I have the stuff to take a gnu-dist into bmake-form, and will do that part.
Please apply to phk@freebsd.org
No Novice Need Apply.
|
4085 |
02-Nov-1994 |
pst |
Put a real man page in for cpp(1)... it needs to be converted to the mandoc macros, but it's good enough for now. Obtained from: gcc 2.6.0 gnu distribution
|
4058 |
01-Nov-1994 |
jkh |
Link g++ -> c++, like I did with gcc -> cc. This is evil, but it's now at least orthogonal evil.
|
4055 |
01-Nov-1994 |
jkh |
Add LINKS to get gcc back.
|
3853 |
25-Oct-1994 |
ljo |
Added f77 program. This is a modified version of the c++ program. All it does is add -lf2c and -lm.
|
3848 |
25-Oct-1994 |
ljo |
Added FORTRAN rule.
|
3840 |
25-Oct-1994 |
dg |
Changed NO_SHARED_LIBCC_INT to SHARED_LIBCC_INT and changed the logic as appropriate. This makes gcc not built with a shared cc_int the default.
|
2938 |
20-Sep-1994 |
bde |
Don't build profiled library.
|
2907 |
19-Sep-1994 |
wollman |
For Bruce: -DNO_SHARED_LIBCC_INT reverts back to static libcc_int. This makes the back end run faster, but at the cost of speed.
|
2871 |
18-Sep-1994 |
wollman |
Make GCC's back end be shared among all languages. cc, c++, and cpp now no longer link against the whole library, since they don't require much from it, but just compile the few small modules they actually need static.
This should save a measurable amount of space; compare:
-r-xr-xr-x 1 bin bin 155648 Sep 18 18:00 cc1* -r-xr-xr-x 1 root bin 1048576 Sep 18 17:33 cc1.noshae*
Of course, the library takes up a bit of space, but when you add in the savings from the C++ compiler, you more than make up the difference:
-r--r--r-- 1 bin bin 1157344 Sep 18 18:27 /usr/lib/libcc_int.so.26.0 -r-xr-xr-x 1 bin bin 491520 Sep 18 18:27 /usr/libexec/cc1plus*
|
2863 |
18-Sep-1994 |
rgrimes |
Add q modifier (for long longs) support to -Wformat. Reviewed by: bde
|
2465 |
02-Sep-1994 |
bde |
Disable one of my extensions (function profiler epilogues) that we're not ready for yet. gcc and all profiled libraries will need to be recompiled. I suspect that the dependencies aren't complete enough to do this automatically.
|
2392 |
29-Aug-1994 |
dg |
Use gnumalloc to help reduce memory consumption.
|
2375 |
28-Aug-1994 |
bde |
Add dependencies on libraries to DPADD. Someday this should be done automagically. -lfoo has to be right to work, but ${LIBFO0} is too easy to forget or misspell; nothing checks it and it should be different for shared libraries.
|
2247 |
23-Aug-1994 |
paul |
Fixed up everything so that the version of gcc that we install from the FreeBSD system sources installs itself as the standard cc and c++. I've fixed c++ to call cc instead of gcc and removed all the symlinks that get created to g** version of the binaries. This means that you can install a second version of gcc that does use the g prefix alongside the "system" version of gcc. The only conflict is libgcc but since we install it as libcc.so.26 and nothing else is likely to that should be ok.
Reviewed by: Submitted by:
|
2144 |
20-Aug-1994 |
paul |
Added -f to rm so install doesn't abort if the file doesn't exist. Reviewed by: Submitted by:
|
2003 |
10-Aug-1994 |
wollman |
Define __FreeBSD__ to be 2.
|
1934 |
08-Aug-1994 |
phk |
This commit was generated by cvs2svn to compensate for changes in r1933, which included commits to RCS files with non-trunk default branches.
|
1824 |
02-Aug-1994 |
phk |
This commit was generated by cvs2svn to compensate for changes in r1823, which included commits to RCS files with non-trunk default branches.
|
1823 |
02-Aug-1994 |
phk |
Here comes the right import of gcc-2.6.0.
|