337477 |
08-Aug-2018 |
bdrewery |
MFC r335733:
Don't use CCACHE for linking. |
314573 |
03-Mar-2017 |
emaste |
MFC r312899: add octeon+ as an alias for octeon in GCC & binutils
r208737 added support for the "mips64r2" architecture and "octeon" CPU, and the saa/saad instructions.
Upstream binutils also added the "octeon+" CPU, and the saa/saad instructions are only available in octeon+, not octeon. Since our base system tool chain already accepts saa/saad with -march=octeon, just allow octeon+ as an alias.
This allows the use of octeon+ in kernel config files, for use with both external tool chain and in-tree GCC/binutils.
Also includes GCC FBSD_CC_VER bump (r313041 in HEAD)
PR: 216516 Sponsored by: The FreeBSD Foundation |
302408 |
08-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
301936 |
16-Jun-2016 |
bdrewery |
WITH_META_MODE: Don't expect a .meta file for side-effect generated files.
This is the same as r301285.
Approved by: re (implicit) Sponsored by: EMC / Isilon Storage Division
|
301934 |
16-Jun-2016 |
bdrewery |
Convert to new FAST_DEPEND syntax for guessed dependencies.
This OBJS_DEPEND_GUESS is needed since each target gets its own .depend.target.o file but also because it is spelled .meta.target.o with WITH_META_MODE. The OBJS_DEPEND_GUESS will apply the dependency if the required file is missing.
Also remove redundant .c files while here to avoid prolems with targets using .ALLSRC and getting multiple source files.
Approved by: re (implicit) Sponsored by: EMC / Isilon Storage Division
|
301402 |
04-Jun-2016 |
bdrewery |
DIRDEPS_BUILD: Update GCC dependencies.
Sponsored by: EMC / Isilon Storage Division
|
300822 |
27-May-2016 |
cem |
gcc42: Fix minor C99 parse bug
DR #289[0] came down and gcc4.2.1 was on the wrong side of history. Partially revert GCC r42574 (just remove the error) to rectify the parse bug to match Clang and other compliant C99 compilers.
An example declaration gcc tripped on before this fix:
void foobar(int [static 1]);
An example declaration gcc did not trip on before this fix:
void foobar(int name[static 1]);
Bump __FreeBSD_cc_version.
[0]: http://www.open-std.org/JTC1/SC22/WG14/www/docs/dr_289.htm
Reported by: allanjude Sponsored by: EMC / Isilon Storage Division
|
300347 |
21-May-2016 |
bdrewery |
WITH_META_MODE: Avoid rebuilds of cc_tools during target build.
This is the same as r299289 and r297997.
Sponsored by: EMC / Isilon Storage Division
|
298218 |
18-Apr-2016 |
bdrewery |
Follow-up r297842: Rework header generation to fix always rebuilding.
This reworks the handling of common headers to just include the needed logic rather than invoke MAKE. This avoids the problem listed in r297842 and avoids other dependency tracking issues.
Pointyhat to: bdrewery Reported by: Nikolai Lifanov <lifanov@mail.lifanov.com> Sponsored by: EMC / Isilon Storage Division
|
296417 |
05-Mar-2016 |
dim |
Upgrade our copies of clang, llvm, lldb and compiler-rt to 3.8.0 release.
Please note that from 3.5.0 onwards, clang, llvm and lldb require C++11 support to build; see UPDATING for more information.
Release notes for llvm and clang will soon be available here: <http://llvm.org/releases/3.8.0/docs/ReleaseNotes.html> <http://llvm.org/releases/3.8.0/tools/clang/docs/ReleaseNotes.html>
Thanks to Ed Maste, Roman Divacky, Davide Italiano and Antoine Brodin for their help.
Relnotes: yes
|
295989 |
24-Feb-2016 |
bdrewery |
DIRDEPS_BUILD: Regenerate without local dependencies.
These are no longer needed after the recent 'beforebuild: depend' changes and hooking DIRDEPS_BUILD into a subset of FAST_DEPEND which supports skipping 'make depend'.
Sponsored by: EMC / Isilon Storage Division
|
291320 |
25-Nov-2015 |
bdrewery |
META MODE: Don't create .meta files when symlinking sources into the obj directory.
Tracking these leads to situations where meta mode will consider the file to be out of date if /bin/sh or /bin/ln are newer than the source file. There's no reason for meta mode to do this as make is already handling the rebuild dependency fine.
Sponsored by: EMC / Isilon Storage Division
|
290494 |
07-Nov-2015 |
bapt |
Improve collation string and locales support
Merge collation support from Illumos and DragonflyBSD.
Locales are now generated with the new localedef(1) tool from CLDR POSIX files. The generated files are now identified as "BSD 1.0" format.
The libc now only read "BSD 1.0" locales definitions, all other version will be set to "C" The localedef(1) tool has been imported from Illumos and modified to use tree(3) instead of the CDDL avl(3) A set of tool created by edwin@ and extended by marino@ for dragonfly has been added to be able to generate locales and the Makefiles from the vanilla CLDR unicode databases + a universal UTF-8 charmap (by marino@) Update the locales to unicode v27 Given our regex(3) does not support multibyte (yet) it has been forced to always use locale C Remove now unused colldef(1) and mklocale(1) Finish implementing the numeric BSD extension for ctypes The number of supported locales has grown from 175 to 250 locales. Among the new locales: 6 Arabic locales (AE EG JO MA QA SA), Different variations of spanish locales. Added new 3 components locales for mn_Cyrl_MN, sr_Cyrl_RS sr_Latn_RS, zh_Hans_CN, zh_Hant_HK and zh_Hant_TW. Some aliases has been for 2 components version when possible.
Thanks: Garrett D'Amore (Illumos) who made sure all his work was done under BSD license!, Edwin Groothuis (edwin@) for the work he made on tools to be able to generate locales definition usable in freebsd sources out of vanilla CLDR definitions, John Marino (DragonflyBSD) who first merge the Illumos work into Dragonfly and spent hours tracking down bugs.
|
290102 |
28-Oct-2015 |
bapt |
Merge mpsutil(8) branch
mpsutil(8)/mprutil(8) are new utilities for managing LSI Fusion-MPT 2/3 controllers (mps(4) and mpr(4))
For now only informational commands have been implemented.
This utility has been written by scottl@ [1] and polished by myself[2]
Submitted by: scottl Discussed with: scottl Relnotes: yes Sponsored by: Netflix [1] Sponsored by: Gandi.net [2]
|
288943 |
06-Oct-2015 |
dim |
Upgrade our copies of clang, llvm, lldb, compiler-rt and libc++ to 3.7.0 release.
Please note that from 3.5.0 onwards, clang, llvm and lldb require C++11 support to build; see UPDATING for more information.
Release notes for llvm and clang can be found here: <http://llvm.org/releases/3.7.0/docs/ReleaseNotes.html> <http://llvm.org/releases/3.7.0/tools/clang/docs/ReleaseNotes.html>
Thanks to Ed Maste, Andrew Turner and Antoine Brodin for their help.
Exp-run: antoine Relnotes: yes
|
288267 |
26-Sep-2015 |
bdrewery |
Remove redundant .NOPATH.
All of these are already in CLEANFILES which is added to .NOPATH in bsd.obj.mk.
Sponsored by: EMC / Isilon Storage Division
|
288226 |
25-Sep-2015 |
bdrewery |
META_MODE: Remove DEP_RELDIR from Makefile.depend files.
This has not been needed since r284171 in projects/bmake.
Sponsored by: EMC / Isilon Storage Division
|
284345 |
13-Jun-2015 |
sjg |
Add META_MODE support.
Off by default, build behaves normally. WITH_META_MODE we get auto objdir creation, the ability to start build from anywhere in the tree.
Still need to add real targets under targets/ to build packages.
Differential Revision: D2796 Reviewed by: brooks imp
|
284289 |
11-Jun-2015 |
sjg |
Misc fixes from projects/bmake
Differential Revision: D2748 Reviewed by: brooks imp
|
276479 |
31-Dec-2014 |
dim |
Upgrade our copy of clang, llvm and lldb to 3.5.0 release.
Please note that this version now requires C++11 support to build; see UPDATING for more information.
Release notes for llvm and clang can be found here: <http://llvm.org/releases/3.5.0/docs/ReleaseNotes.html> <http://llvm.org/releases/3.5.0/tools/clang/docs/ReleaseNotes.html>
Thanks to Ed Maste, Roman Divacky, Andrew Turner, Justin Hibbits and Antoine Brodin for their invaluable help with this import.
Approved by: portmgr (antoine) MFC after: 1 month
|
272350 |
01-Oct-2014 |
andrew |
Remove MK_ARM_EABI, the armeb issues have been fixed. The code to support the oabi is still in the tree, but it is expected this will be removed as developers work on surrounding code.
With this commit the ARM EABI is the only supported supported ABI by FreeBSD on ARMa 32-bit processors.
X-MFC after: never Relnotes: yes Differential Revision: https://reviews.freebsd.org/D876
|
265420 |
06-May-2014 |
imp |
Use src.opts.mk in preference to bsd.own.mk except where we need stuff from the latter.
|
258445 |
21-Nov-2013 |
andreast |
Fix cross compilation after r258428.
Reviewed by: pfg
|
256298 |
10-Oct-2013 |
dim |
Bump OS versions in the toolchain triples to 11.0, and bump the __FreeBSD_cc_version predefined macros in clang and gcc.
Approved by: re (gjb)
|
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
|
238255 |
08-Jul-2012 |
nwhitehorn |
After the binutils 2.17.50 import, the assembler supports AS_REL16 relocations.
|
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
|
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@
|
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
|
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)
|
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
|
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
|
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)
|
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)
|
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.
|
164019 |
06-Nov-2006 |
obrien |
Remove gratuitous white space change.
|
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
|
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
|
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)
|
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.
|
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
|
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.
|
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).
|
125040 |
26-Jan-2004 |
kan |
Do not treat make variables as Perl variables.
|
124547 |
15-Jan-2004 |
ru |
Fixed "make clean".
|
124417 |
12-Jan-2004 |
ru |
Removed duplicate SRCS.
|
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.
|
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.
|
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
|
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.
|
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.
|
105502 |
20-Oct-2002 |
obrien |
We HAVE_STPCPY now.
|
104770 |
10-Oct-2002 |
kan |
Add multilib_options variable definition.
Approved by: obrien
|
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.
|
97913 |
06-Jun-2002 |
obrien |
Read specs from /usr/libdata/gcc/specs if it exists.
|
97873 |
05-Jun-2002 |
obrien |
Search the "backward" C++ compatibility include dir also.
|
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.
|
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
|
96447 |
12-May-2002 |
obrien |
Fixes for building a.out bits.
Submitted by: bde
|
96360 |
10-May-2002 |
obrien |
Touching the sjlj setting on IA-64 makes things not build.
Submitted by: peter
|
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
|
95878 |
01-May-2002 |
obrien |
Add support for using the profiled versions of the C++ (and related) libs.
|
93874 |
05-Apr-2002 |
obrien |
A little more reorg.
|
93807 |
04-Apr-2002 |
obrien |
Minor reorg.
|
93801 |
04-Apr-2002 |
obrien |
Remove some local cruft that snuck in yesterday.
|
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.
|
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
|
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.
|
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
|
69535 |
03-Dec-2000 |
obrien |
tm.h should include the platform specific ELF header if it exists.
|
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
|
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.
|
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
|
56521 |
24-Jan-2000 |
obrien |
Simply cc_tools/Makefile by moving the parser generation to the respective backends.
|
56497 |
23-Jan-2000 |
obrien |
I *hate* using "i" in variables, looks too much like "1" or "l".
|
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)
|
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/
|
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)
|
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.
|
52914 |
06-Nov-1999 |
obrien |
Our capibilities updated for GCC 2.95.2.
|
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.
|
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.
|
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.
|
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.
|
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
|
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.
|
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>
|
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>
|
45340 |
05-Apr-1999 |
peter |
Fix type mismatch..
|
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.
|
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)
|
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.
|
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.
|
37460 |
07-Jul-1998 |
bde |
Added a `build-tools' target for internal tools.
|
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.
|
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.
|
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.
|
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.
|
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>
|
22996 |
22-Feb-1997 |
peter |
Revert $FreeBSD$ to $Id$
|
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.
|
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.
|