History log of /freebsd-10.1-release/gnu/usr.bin/cc/cc_tools/freebsd-native.h
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 272461 02-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 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


# 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


# 226519 18-Oct-2011 dim

Update gcc's __FreeBSD__ and __FreeBSD_cc_version macros for FreeBSD 10.


# 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 28-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)


# 172592 12-Oct-2007 obrien

Welcome FreeBSD 8.


# 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.


# 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.


# 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.


# 132751 28-Jul-2004 kan

Bmake glue for GCC 3.4.2-prerelease.


# 117428 11-Jul-2003 kan

Update for GCC 3.3.1-pre.


# 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


# 98056 08-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.


# 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


# 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.


# 93807 04-Apr-2002 obrien

Minor reorg.


# 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


# 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.


# 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


# 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


# 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/


# 50472 27-Aug-1999 peter

$Id$ -> $FreeBSD$


# 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.


# 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