272461 |
03-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
|
270606 |
25-Aug-2014 |
ian |
MFC r268994: C++ exception/unwind handling fix
Add FreeBSD to the list of environments that needs to handle R_ARM_TARGET2 relocations in unwind data as pc-relative indirect references.
Note that the commit log for r269792 incorrectly claims that it includes this change, but I apparently fumbled it somehow, so this is the real MFC.
|
270099 |
17-Aug-2014 |
dim |
MFC r269948:
Supplement r259111 by also using correct casts in gcc's emmintrin.h for the first argument of the following builtin function:
* __builtin_ia32_psrlqi128() takes __v2di instead of __v4si
This should fix the following errors when building the graphics/webp port with base gcc:
lossless_sse2.c:403: error: incompatible type for argument 1 of '__builtin_ia32_psrlqi128' lossless_sse2.c:404: error: incompatible type for argument 1 of '__builtin_ia32_psrlqi128'
Reported by: Jos Chrispijn <ports@webrz.net>
|
265728 |
09-May-2014 |
pfg |
MFC r265231:
gcc: fix strict alignment.
From the OpenBSD log:
x86-64 ABI requires arrays greater than 16 bytes to be aligned to 16byte boundary. However, GCC 16-byte aligns arrays of >=16 BITS, not BYTES.
This diff improves bug detectability for code which has local arrays of [16 .. 127] bits: in those cases SSP will now detect even 1-byte overflows.
Obtained from: OpenBSD (CVS rev 1.4)
|
260573 |
12-Jan-2014 |
pfg |
MFC r260310:
libcpp: misc fixes from Apple's GCC.
Fixes some bugs detected by Apple: #error with unmatched quotes pragma mark
Obtained from: Apple GCC 4.2 - 5553
|
260455 |
08-Jan-2014 |
pfg |
MFC r259873:
gcc: small enhancements for the arm support.
fixes GCC-PR target/31152
Obtained from: gcc 4.3 (rev. r118461, 125973: GPLv2)
|
260395 |
07-Jan-2014 |
pfg |
MFC r259841
gcc: Add ability to generate DWARF pubtypes section if DEBUG_PUBTYPES_SECTION is defined.
Obtained from: gcc 4.3 (rev. 118826; GPLv2)
|
260139 |
31-Dec-2013 |
pfg |
MFC r259525, r259526, r259529
gcc: small merges from upstream
fix ICE in rs6000 when using -fno-trapping-math. Solves GCC-PR target/30485
Solve GCC issues: PR middle-end/32602 PR middle-end/32603
Updates the to documentation and processing improvement.
Obtained from: gcc 4.3 (rev. 120902, 120902, 119427, 126278, 126422; GPLv2)
|
260074 |
30-Dec-2013 |
pfg |
MFC r259005, r259092:
gcc: Add -flax-vector-conversions gcc: new fvisibility-ms-compat option
These are useful for compatibility with newwer gcc and clang.
Obtained from: gcc 4.3 (rev. 120572, 120688, 126088; GPLv2)
|
259947 |
27-Dec-2013 |
pfg |
gcc: Merge upstream changes.
Include types in error message for build_binary_op.
Mostly cosmetic changes, to reduce differences with Apple's gcc.
Obtained from: gcc 4.3 (rev. 120611, 124839, 125239; GPLv2)
|
259583 |
19-Dec-2013 |
pfg |
MFC r258651, r258943: gcc: Altivec register adjustments from Apple. gcc: On rs6000 update sp_offset depending only on size.
Tested by: Justin Hibbits Obtained from: gcc pre-4.3 (rev. 124763, 125116; GPLv2)
|
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
|
259268 |
12-Dec-2013 |
pfg |
MFC r258081, r258138, r258143, r258179, r258157, r258204, 258205, r258206, r258207, r258321
This is a series of commits inspired on Google's gcc-4.2.1 for Android that were taken from the gcc pre-4.3 under the GPLv2.
gcc: Backport fixes for -W parentheses in C++ This fixes GCC 19564. gcc: merge rs6000 change from FSF pre-gcc43 Don't set MASK_PPC_GFXOPT for 8540 or 8548. Merge vrp-tree fix from gcc-4.3 Fix missed conversion from / to >> (GCC PR32521) Merge in GCCr120505 to include definition of TREE_OVERFLOW_P gcc: warn about integer overflow in constant expressions in the C++ frontend. gcc: Add a new option -Wvla to warn variable length array. libcpp: preprocessor speedup patches from upstream gcc. gcc: add femit-struct-debug support to reduce Reduce dwarf debug size gcc: Fix postreload-gcse treatment of call-clobbered registers. gcc: Record some previous commits in the ChangeLog.gcc43 file.
|
259216 |
11-Dec-2013 |
dim |
MFC r259111:
Use correct casts in gcc's emmintrin.h for the first arguments of the following builtin functions:
* __builtin_ia32_pslldi128() takes __v4si instead of __v8hi * __builtin_ia32_psllqi128() takes __v2di instead of __v8hi * __builtin_ia32_psradi128() takes __v4si instead of __v8hi
This should fix the following errors when building the LINT kernel with gcc:
sys/crypto/aesni/aesni_wrap.c:191: error: incompatible type for argument 1 of '__builtin_ia32_psradi128' sys/crypto/aesni/aesni_wrap.c:195: error: incompatible type for argument 1 of '__builtin_ia32_pslldi128'
|
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
|
255361 |
07-Sep-2013 |
andrew |
On ARM EABI double precision floating point values are stored in the endian the CPU is in, i.e. little-endian on most ARM cores.
This allows ARMv4 and ARMv5 boards to boot with the ARM EABI.
|
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
|
255096 |
31-Aug-2013 |
andrew |
Implement _Unwind_GetIP and _Unwind_GetIPInfo as functions as that is what we expect on FreeBSD. The implementation is based on the existing macros.
|
255095 |
31-Aug-2013 |
andrew |
Bring in gcc r128087 to add support for _Unwind_Backtrace on ARM. This is prior to the licence change so is under the GPLv2.
|
251212 |
01-Jun-2013 |
pfg |
GCC: bring back experimental support for amdfam10/barcelona CPUs.
Initial support for the AMD amdfam10 chipsets has been available in the gcc43 branch under GPLv2. AMD and some linux distributions (OpenSUSE) did a backport of the amdfam10 support and made it available.
This is a revised subset of the support initially brought in in r236962 and later reverted. The collateral efects seem to have disappeared but it is still recommended to set the CPUTYPE with caution.
Reviewed by: jkim (ages ago) MFC after: 3 weeks
|
250392 |
08-May-2013 |
dim |
For some reason, the gcc intrinsics header tmmintrin.h was imported with two copies of itself pasted together. Remove the extraneous copy.
MFC after: 3 days
|
246317 |
04-Feb-2013 |
andrew |
Add #undef TARGET_DEFAULT back as it shouldn't have been removed in r245539
|
246314 |
04-Feb-2013 |
andrew |
Allow the unwind functions int libgcc_s to interact correctly with libthr.
_Unwind_ForcedUnwind in libgcc_s takes as one of it's parameters a stop function to tell it when to stop unwinding. One of the stop function's parameters is a _Unwind_Exception_Class. On most architectures this is an int64_t, however on ARM EABI the gcc developers have made this a char array with 8 items. While both of these take the same space they are passed into the stop function differently, an int64_t is passed in in registers r2 and r3, while the char[8] is passed in as a pointer to the first item in register r2.
Because libthr expects the value to be an int64_t we would get incorrect results when it passes a function that take an int64_t but libgcc passes in a pointer to a char array including crashing.
The fix is to update libgcc_s to make it pass an int64_t to the stop function and to libstdc++ as it expects _Unwind_Exception_Class to be an array.
|
245952 |
26-Jan-2013 |
pfg |
Clean some 'svn:executable' properties in the tree.
Submitted by: Christoph Mallon MFC after: 3 days
|
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.
|
245413 |
14-Jan-2013 |
andrew |
Switch the default CPU to an arm9. This removes compiler support for the unsupported 26-bit addressing mode. This change is required for moving to the ARM EABI.
|
244276 |
15-Dec-2012 |
andrew |
Don't define CTORS_SECTION_ASM_OP and DTORS_SECTION_ASM_OP on arm when built with clang. When these are defined the lists are defined similar to:
asm(".section .ctors"); STATIC func_ptr __CTOR_LIST__[1] = { (func_ptr) (-1) }; asm(".section .dtors"); STATIC func_ptr __DTOR_LIST__[1] = { (func_ptr) (-1) };
The problem is clang will move the two arrays out of the .ctors and .dtors sections causing these sections to contain a single null address. By not defining these macros we use the version of the code that places the arrays is their sections by using __attribute__((section(".ctors"))) and similar for .dtors.
Submitted by: Daisuke Aoyama <aoyama AT peach.ne.jp>
|
242182 |
27-Oct-2012 |
kan |
Follow clang lead and include mm_malloc.h only in hosted configurations.
This makes the use of intrinsics easier in kernel environment, according to the submitter.
Requested by: jmg
|
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>
|
238472 |
15-Jul-2012 |
kib |
Pass --enable-new-dtags to the linker invocation by default. If desired, one can turn off the generation of post-ELF standard dtags by overriding it with --disable-new-dtags after the default switch.
Immediate effect of the change is that -rpath path is now stored both in DT_RPATH and DT_RUNPATH tags, which is the right way to provide rpath for dynamic linker supporting DT_RUNPATH per specification.
Reviewed by: kan MFC after: 1 month
|
237099 |
14-Jun-2012 |
marius |
Merge r236137 from x86: Enable GNU hash generation for dynamic ELF binaries.
|
237021 |
13-Jun-2012 |
pfg |
Revert r236962 - Experimental amdfam10/barcelona support.
The patches are unexpectedly causing gcc to fail while building ports/graphics/ImageMagick even when the cpu flags are not used.
Reported by: Andreas Tobler
|
236962 |
12-Jun-2012 |
pfg |
Add experimental support for amdfam10/barcelona from the GCC 4.3 branch.
Initial support for the AMD barcelona chipsets has been available in the gcc43 branch under GPLv2 but was not included when the Core 2 support was brought to the system gcc.
AMD and some linux distributions (OpenSUSE) did a backport of the amdfam10 support and made them available. Unfortunately this is still experimental and while it can improve performance, enabling the CPUTYPE may break some C++ ports (like clang).
Special care was taken to make sure that the patches predate the GPLv3 switch upstream.
Tested by: Vladimir Kushnir Reviewed by: mm Approved by: jhb (mentor) MFC after: 2 weeks
|
236329 |
30-May-2012 |
marius |
Merge r236137 from x86: Enable GNU hash generation for dynamic ELF binaries.
While at it, sync the order of options with x86 and pass along the verbose flag.
|
236137 |
27-May-2012 |
kib |
Enable gnu hash generation for dynamic ELF binaries on x86.
Reviewed by: kan
|
235623 |
18-May-2012 |
pfg |
Bring in a subset of gcc fixes that were back ported to the GCC 4.1 branch and are available under GPLv2.
2007-11-07 Eric Botcazou <ebotcazou@libertysurf.fr>
PR rtl-optimization/33822 * rtl.h (REG_OFFSET): Fix comment. * var-tracking.c (INT_MEM_OFFSET): New macro. (var_mem_set): Use it. (var_mem_delete_and_set): Likewise. (var_mem_delete): Likewise. (vt_get_decl_and_offset): Likewise. (offset_valid_for_tracked_p): New predicate. (count_uses): Do not track locations with invalid offsets. (add_uses): Likewise. (add_stores): Likewise. http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129972
2007-11-16 Richard Guenther <rguenther@suse.de> PR middle-end/34030 * fold-const.c (fold_binary): Use correct types for folding 1 << X & Y to Y >> X & 1. http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130242
2008-01-14 Eric Botcazou <ebotcazou@adacore.com>
PR rtl-optimization/31944 * cse.c (remove_pseudo_from_table): New function. (merge_equiv_classes): Use above function to remove pseudo-registers. (invalidate): Likewise http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131524
2008-01-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
Backport: 2007-11-07 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/33826 * ipa-pure-const (static_execute): Added code to keep recursive functions from being marked as pure or const. * ipa-utils (searchc): Fixed comment. http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131807
2008-02-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
Backport: 2007-08-02 Nathan Froyd <froydnj@codesourcery.com>
PR middle-end/25445 * varasm.c (default_binds_local_p_1): Consult flag_whole_program if we are compiling with -fPIC. http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132061
2008-02-04 Richard Guenther <rguenther@suse.de>
PR middle-end/33631 * expr.c (count_type_elements): Give for unions instead of guessing. http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132101
2008-02-14 Alan Modra <amodra@bigpond.net.au>
PR target/34393 * config/rs6000/rs6000.md (restore_stack_block): Force operands[1] to a reg. http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132309
2008-03-25 Richard Guenther <rguenther@suse.de>
Backport from mainline: 2008-02-12 Richard Guenther <rguenther@suse.de>
PR middle-end/35163 * fold-const.c (fold_widened_comparison): Use get_unwidened in value-preserving mode. Disallow final truncation. http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=133509
2008-11-30 Eric Botcazou <ebotcazou@adacore.com>
PR target/38287 * config/sparc/sparc.md (divsi3 expander): Remove constraints. (divsi3_sp32): Add new alternative with 'K' for operand #2. (cmp_sdiv_cc_set): Factor common string. (udivsi3_sp32): Add new alternative with 'K' for operand #2. Add TARGET_V9 case. (cmp_udiv_cc_set): Factor common string. http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142298
Reviewed by: mm Approved by: jhb (mentor) MFC after: 1 week
|
234855 |
30-Apr-2012 |
gonzo |
Unbreak jemalloc build with MALLOC_PRODUCTION set. New jemalloc version uncovered MIPS-related gcc bug described in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33256
The patch was obtained from r128198 in gcc-4_1-branch, which is GPLv2, so it's OK to merge it.
|
233397 |
23-Mar-2012 |
gonzo |
Disable IRIX compatibility flags for DWARF code generator. IRIX-compatible DWARF code is not compatible with CTF tools
|
229715 |
06-Jan-2012 |
andreast |
Silence a warning about redefinition of TARGET_ELF on powerpc.
|
227739 |
19-Nov-2011 |
andreast |
Rename the linker emulation name for powerpc and powerc64. This is needed that we can also use the upstream binutils linker where we have to have a unique name for the FreeBSD emulation.
|
227586 |
16-Nov-2011 |
andreast |
Copy over the ASM_DECLARE_FUNCTION_SIZE macro from linux64.h. This macro declares the proper size of a function. Without this macro recent GNU as will complain about with: 'Error: .size expression for main does not evaluate to a constant.'
Up to now we produce this:
.L.main: .... .size main, .-main
With the macro defined the output is this:
.L.main: .... .size main,.-.L.main
This affects only the 64-bit compiler. Tested with world and kernel on both, 32 and 64-bit powerpc.
|
227391 |
09-Nov-2011 |
fabient |
Import gcc fix for -fstack-protector that produces segfaulting binaries on arm/armel.
Related gcc bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35965
PR: 161128 MFC after: 1 week
|
226430 |
16-Oct-2011 |
stefanf |
Adjust posix_memalign() prototype to match what we define in stdlib.h for C++ compilation.
PR: standards/147210
|
220150 |
29-Mar-2011 |
mm |
Upgrade of base gcc and libstdc++ to the last GPLv2-licensed revision (rev. 127959 of gcc-4_2-branch).
Resolved GCC bugs: c++: 17763, 29365, 30535, 30917, 31337, 31941, 32108, 32112, 32346, 32898, 32992 debug: 32610, 32914 libstdc++: 33084, 33128 middle-end: 32563 rtl-optimization: 33148 tree-optimization: 25413, 32723 target: 32218
Tested by: pointyhat (miwi) Obtained from: gcc (gcc-4_2-branch up to rev. 127959) PR: gnu/153298, gnu/153959, gnu/154385 MFC after: 1 month
|
219711 |
17-Mar-2011 |
mm |
Backport missing tunings for -march=core2: - enable extra 80387 mathematical constants (ext_80387_constants) [1] - enable compare and exchange 16 bytes (cmpxchg16b) [2]
Verified against llvm-gcc (and apple gcc)
Obtained from: gcc-4.3 (ref. svn revs. 119260 [1], 121140 [2]; GPLv2) MFC after: 2 weeks
|
219697 |
16-Mar-2011 |
mm |
Fix -march/-mtune=native autodetection for Intel Core 2 CPUs
Obtained from: gcc 4.3 (partial rev. 119454; GPLv2) MFC after: 2 weeks
|
219639 |
14-Mar-2011 |
mm |
Backport SSSE3 instruction set support to base gcc. Enabled by default for -march=core2
Obtained from: gcc 4.3 (rev. 117958, 121687, 121726, 123639; GPLv2) MFC after: 2 weeks
|
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.
|
219374 |
07-Mar-2011 |
mm |
Backport Intel Core 2 and AMD Geode CPU types from gcc-4.3 (GPLv2) These options are supported in this shape in all newer GCC versions.
PR: gnu/155308 Obtained from: gcc 4.3 (rev. 118090, 118973, 120846; GPLv2) MFC after: 2 weeks
|
218895 |
20-Feb-2011 |
mm |
Backport svn r124339 from gcc 4.3 and add opteron-sse3, athlon64-sse3 and k8-sse3 cpu-types for -march=/-mtune= gcc options. These new cpu-types include the SSE3 instruction set that is supported by all newer AMD Athlon 64 and Opteron processors. All three cpu-types are supported by clang and all gcc versions starting with 4.3 SVN rev 124339 (at that time GPLv2 licensed).
PR: gnu/154906 Discussed with: kib, kan, dim Obtained from: gcc 4.3 (r124339, GPLv2 licensed) MFC after: 2 weeks
|
218824 |
18-Feb-2011 |
nwhitehorn |
Turn off default generation of userland dot symbols on powerpc64 now that we have a binutils that supports it. Kernel dot symbols remain on to assist DDB.
|
217396 |
14-Jan-2011 |
kib |
Configure gcc to emit .note.GNU-stack for both 32 and 64 bits PowerPC. Mark gcc-provided asm files as not requiring executable stack.
It seems that non-FreeBSD ABIs for powerpc64 claim stack non-executable. Due to this, rs6000_elf_end_indicate_exec_stack() only emit the note for 32 bit target. I decided not to change FreeBSD ABI and patch emit the notes for both variants.
Reviewed and tested by: nwhitehorn
|
217098 |
07-Jan-2011 |
kib |
Make gcc emit the .note.GNU-stack section into the assembler files.
Reviewed by: kan
|
215841 |
25-Nov-2010 |
dim |
Now that the fix for gcc PR 20218 is applied, and hidden attributes actually work, linking of libgcc_s.so.1 on ia64 will fail with:
unwind-ia64.So(.text+0x1762): In function `_Unwind_FindEnclosingFunction': : undefined reference to `_Unwind_FindTableEntry' unwind-ia64.So(.text+0x1d82): In function `uw_frame_state_for': : undefined reference to `_Unwind_FindTableEntry' /usr/bin/ld: libgcc_s.so.1: hidden symbol `_Unwind_FindTableEntry' isn't defined
Repair this by not hiding the _Unwind_FindTableEntry symbol; on FreeBSD, it is in libc, not in libgcc.
Silence from: current@
|
215840 |
25-Nov-2010 |
dim |
Apply backported fix for gcc PR 20218. This makes __attribute__ ((visibility ("hidden"))) work properly, and fixes building devel/glib20 with newer binutils.
Silence from: current@
|
213185 |
26-Sep-2010 |
nwhitehorn |
Check for NULL link registers as found in initial stack frames when doing stack unwinding, instead of naively trying to check the instruction at that location. This fixes signal handling in threaded applications after recent changes regarding unwinding in libthr. While here, clean up our MD_FROB_UPDATE_CONTEXT() implementation a little.
|
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
|
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
|
204772 |
05-Mar-2010 |
imp |
Tweak the linker spec a smidge. Correct a typo.
|
204762 |
05-Mar-2010 |
imp |
Add support for o32 (when it isn't the default), n32, n64, and o64 to the linker spec. Provide the ability to have a default ABI that's different than o32 (again, for all 4).
Submitted by: C. Jayachandran (JC) with tweaks for o64/o32 by me
|
204616 |
03-Mar-2010 |
imp |
Also define _MIPS_ISA here.
Submitted by: jmallet@
|
204549 |
02-Mar-2010 |
imp |
Bring in more built-in defines from NetBSD a few #defines from JC.
# tested only with o32 at the moment
Submitted by: C. Jayachandran (CJ) Obtained from: NetBSD
|
201855 |
08-Jan-2010 |
imp |
Merge r194519 from projects/mips to head by hand:
r194519 | gonzo | 2009-06-19 17:28:26 -0600 (Fri, 19 Jun 2009) | 3 lines - set -mabicalls and -msoft-float as a default in order to simplify building ports
|
200038 |
02-Dec-2009 |
kib |
Properly support -fPIE by linking PIE binaries with specially-built Scrt1.o instead of crt1.o, since the later is built as non-PIC.
Separate i386-elf crt1.c into the pure assembler part and C code, supplying all data extracted by assembler stub as explicit parameters [1]. Hide and localize _start1 symbol used as an interface between asm and C code.
In collaboration with: kan Inspired by: PR i386/127387 [1] Prodded and tested by: rdivacky [1] MFC after: 3 weeks
|
198344 |
21-Oct-2009 |
jhb |
Change gcc to assume a default machine architecture of 486 instead of 386 on "i386". Doing it in the compiler is deemed to be less fragile then attempting to provide a default -march setting via bsd.cpu.mk. FreeBSD itself has not supported plain 386 CPUs since 5.x.
Suggested by: kan Requested by: rdivacky MFC after: 1 month
|
195697 |
14-Jul-2009 |
kan |
Second attempt at eliminating .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 every time given shared library is being relocated and making affected text pages non-shareable.
Reviewed by: kib Approved by: re (kib)
|
192599 |
22-May-2009 |
des |
Expand $FreeBSD$
|
191517 |
26-Apr-2009 |
ed |
Remove empty directories from the HEAD.
Discussed with: developers, imp
|
182907 |
10-Sep-2008 |
obrien |
If arm.h is going to define WCHAR_TYPE, don't assume WCHAR_TYPE_SIZE doesn't already have a definition.
Reported by: imp
|
182654 |
01-Sep-2008 |
obrien |
We're not quite ready for the full %(endian_spec).
|
182644 |
01-Sep-2008 |
obrien |
Add __unix__. Tweak __KPRINTF_ATTRIBUTE__ while I'm here.
|
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.
|
181534 |
10-Aug-2008 |
das |
Make -mfancy-math-387 the default on FreeBSD, as it is on most other operating systems. Previously, gcc would inhibit the generation of fsqrt, fsin, and several other floating point instructions, for the benefit of the old in-kernel math emulator, which was removed over 5 years ago.
|
180079 |
28-Jun-2008 |
obrien |
White space fixes.
|
180078 |
28-Jun-2008 |
obrien |
Reduce diff to vendor.
|
174482 |
09-Dec-2007 |
marius |
Allow the targeted CPU type to be set via -mcpu instead of limiting to the hardcoded equivalent of -mcpu=ultrasparc.
PR: 109510 MFC after: 3 months
|
171836 |
14-Aug-2007 |
kan |
Update locally changed files to GCC 4.2.1.
Approved by: re (kensmith)
|
171835 |
14-Aug-2007 |
kan |
Merge files that are no longer carry FreeBSD local changes.
Approved by: re (kensmith)
|
171826 |
14-Aug-2007 |
kan |
This commit was generated by cvs2svn to compensate for changes in r171825, which included commits to RCS files with non-trunk default branches.
|
169819 |
21-May-2007 |
cognet |
FreeBSD expects VFP, so use that as the default FPU.
Reviewed by: kan
|
169711 |
19-May-2007 |
kan |
Merge arm-freebsd.h.diff directly into the target file. Maintaining separate patch is much more painful than taking this file off the vendor branch.
|
169709 |
19-May-2007 |
kan |
This commit was generated by cvs2svn to compensate for changes in r169708, which included commits to RCS files with non-trunk default branches.
|
169707 |
19-May-2007 |
kan |
Remove files that are not part of GCC distribution anymore.
|
169706 |
19-May-2007 |
kan |
Update configuration files for GCC 4.2.
|
169705 |
19-May-2007 |
kan |
Merge local FreeBSD changes for -mno-align-long-strings.
|
169699 |
19-May-2007 |
kan |
FreeBSD uses unchanged versions of this files.
|
169690 |
19-May-2007 |
kan |
This commit was generated by cvs2svn to compensate for changes in r169689, which included commits to RCS files with non-trunk default branches.
|
161660 |
26-Aug-2006 |
kan |
Resolve conflicts after GCC 3.4.6 20060825 import.
|
161652 |
26-Aug-2006 |
kan |
This commit was generated by cvs2svn to compensate for changes in r161651, which included commits to RCS files with non-trunk default branches.
|
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.
|
151775 |
27-Oct-2005 |
rodrigc |
Submitted following patch to FSF GCC:
* freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS): Use builtin_define_with_int_value() instead of adding a new check for every new major FreeBSD version.
Motivated by: simon Discussed with: obrien, kan
|
148163 |
19-Jul-2005 |
obrien |
Fix bug where GCC thought athlon-tbird had SSE support.
|
147823 |
07-Jul-2005 |
scottl |
Patch the freebsd spec file for PowerPC so that PIC code builds correctly. This allows FreeBSD/PPC to build and run out of stock CVS sources. This also takes the file off of the vendor branch.
Submitted by: kan, grehan Approved by: re, kan
|
146939 |
03-Jun-2005 |
kan |
Enable handling of MS-compatible packing push and pop pragmas. This change was inadvertedly left out of the last import.
|
146915 |
03-Jun-2005 |
kan |
Fix a typo from previos commit.
|
146909 |
03-Jun-2005 |
kan |
Catch up with changes in BDX_OUTPUT_[LR]BRAC callers.
|
146908 |
03-Jun-2005 |
kan |
Merge conflicts for GCC 3.4.4.
|
146906 |
03-Jun-2005 |
kan |
Stock files.
|
146896 |
03-Jun-2005 |
kan |
This commit was generated by cvs2svn to compensate for changes in r146895, which included commits to RCS files with non-trunk default branches.
|
134097 |
21-Aug-2004 |
obrien |
Enter the long awaited start of FreeBSD 6.0!
|
133583 |
12-Aug-2004 |
kan |
This commit was generated by cvs2svn to compensate for changes in r133582, which included commits to RCS files with non-trunk default branches.
|
132857 |
29-Jul-2004 |
kan |
Remove obsolete ASM_FINAL_SPEC definition.
Reported by: green
|
132746 |
28-Jul-2004 |
kan |
Update sparc64 MD bits to GCC 3.4.2-prerelease.
|
132745 |
28-Jul-2004 |
kan |
Merge FreeBSD changes into GCC 3.4.2-prerelease: 1.2 Tweaks to make this file live beside our hacked config.
|
132744 |
28-Jul-2004 |
kan |
Merge r1.10 (-mno-align-long-strings) and r1.11 (make LONG_TYPE_SIZE overridable from the command line).
|
132743 |
28-Jul-2004 |
kan |
Merge r1.11 (-mno-align-long-strings).
|
132742 |
28-Jul-2004 |
kan |
Update Amd64 MD bits for GCC 3.4.2-prerelease.
|
132741 |
28-Jul-2004 |
kan |
Update i386 MD bits for GCC 3.4.2-prerelease.
|
132740 |
28-Jul-2004 |
kan |
Update Alpha config MD bits for GCC 3.4.2-prerelease.
|
132739 |
28-Jul-2004 |
kan |
Merge FreeBSD modifications into gcc 3.4.2-prerelease: 1.8 Change symbol values to match freebsd.h.
|
132738 |
28-Jul-2004 |
kan |
Update MI config bits for GCC 3.4.2-prerelease.
|
132737 |
28-Jul-2004 |
kan |
Update for GCC 3.4.2. Bump __FreeBSD_cc_version_ and use correct ELF interpreter on FreeBSD 5.x series.
|
132727 |
28-Jul-2004 |
kan |
Use stock GCC versions on these files.
|
132719 |
28-Jul-2004 |
kan |
This commit was generated by cvs2svn to compensate for changes in r132718, which included commits to RCS files with non-trunk default branches.
|
130744 |
19-Jun-2004 |
obrien |
Grrr. our rev 1.19 (FSF GCC rev 1.579) is causing some problems on 32-bit systems. So only use the rev 1.19 (FSF GCC rev 1.579) change on 64-bit systems.
|
130711 |
19-Jun-2004 |
obrien |
Merge FSF GCC rev 1.579 change ((x86_output_mi_thunk): Don't pass MEM to %P0, just SYMBOL_REF) into GCC 3.3.3. This fixes the bad C++ thunks code generation building Firefox on AMD64.
Submitted by: Sean McNeil <sean@mcneil.com>
|
125231 |
30-Jan-2004 |
deischen |
Make gcc -pthread link to -lpthread instead of -lc_r.
|
124152 |
05-Jan-2004 |
kan |
This commit was generated by cvs2svn to compensate for changes in r124151, which included commits to RCS files with non-trunk default branches.
|
123715 |
22-Dec-2003 |
kan |
Fix ASM_OUTPUT_LABELREF to deal with TSL model prefixes GCC started to use internally. They need to be stripped before the name of the label or symbol is printed.
|
123561 |
16-Dec-2003 |
obrien |
One might want to correctly generate 32-bit code on an Opteron.
Submitted by: peter
|
123546 |
15-Dec-2003 |
obrien |
Consistently define __LP64__ on all our 64-bit platforms.
|
122432 |
10-Nov-2003 |
deischen |
Remove a comment stating that -pthread isn't supported.
|
122194 |
07-Nov-2003 |
kan |
Merge r1.11 (-mno-align-long-strings).
|
122193 |
07-Nov-2003 |
kan |
Merge r1.10 (-mno-align-long-strings) and r1.11 (make LONG_TYPE_SIZE overridable from the command line).
|
122190 |
07-Nov-2003 |
kan |
No FreeBSD-local changes in these files.
|
122181 |
07-Nov-2003 |
kan |
This commit was generated by cvs2svn to compensate for changes in r122180, which included commits to RCS files with non-trunk default branches.
|
120312 |
21-Sep-2003 |
deischen |
The ports freeze may take longer than anticipated. Instead of waiting for it to be delayed, temporarily back out the -pthread removal until the freeze is lifted.
Freeze possibly taking longer than necessary: will Requested by: kris
|
120006 |
12-Sep-2003 |
obrien |
Bump __FreeBSD_cc_version for (1) 5.1 (post-mortem) (2) -pthread changes.
|
119720 |
03-Sep-2003 |
deischen |
Remove the -pthread option (in FreeBSD versions 500016 and greater) as threatened over 2 years ago.
Why? -pthread was a hack to prevent linking to both libc and libc_r and became unecessary when libc_r became free of libc. Now that we have multiple thread libraries from which to choose, it is more confusing because you can't link to more than one threads library at a time. Things like autoconf and libtool sometimes detect -pthread and also -lc_r, and in conjunction with ports usage of ${PTHREAD_LIBS}, really wacky things ensue when PTHREAD_LIBS is set to another threads library. This might not be so bad if the build broke when this happens, but it doesn't and you don't know it until funny things happen when you run the application (or use an affected library).
Reviewed by: obrien
|
119642 |
01-Sep-2003 |
deischen |
Backout rev 1.10.
Requested by: obrien
|
119621 |
31-Aug-2003 |
deischen |
Remove -pthread as a compiler option. It was deprecated 2.5 years ago, but not removed.
No reply from: threads, kan, obrien
|
119414 |
24-Aug-2003 |
obrien |
Reformat FBSD_{START,END}FILE_SPEC to FSF coding standards. Use these in our i386, amd64, and alpha platforms.
|
119257 |
22-Aug-2003 |
kan |
This commit was generated by cvs2svn to compensate for changes in r119256, which included commits to RCS files with non-trunk default branches.
|
119016 |
17-Aug-2003 |
gordon |
Tell the toolchain to look for rtld in /libexec instead of /usr/libexec.
|
117694 |
17-Jul-2003 |
obrien |
This file became OBE when we went to GCC 3.
|
117479 |
12-Jul-2003 |
kan |
Do not override FP rounding options for 32bit platforms. amd64 doesn't need this.
|
117420 |
11-Jul-2003 |
kan |
Update for GCC 3.3.1-prerelease.
|
117419 |
11-Jul-2003 |
kan |
Merge FreeBSD modifications into gcc 3.3.1-prerelease: 1.8 Change symbol values to match freebsd.h.
|
117418 |
11-Jul-2003 |
kan |
Update for 3.3.1-prerelease.
|
117417 |
11-Jul-2003 |
kan |
Merge FreeBSD modifications into gcc 3.3.1-prerelease: 1.4 Look into right directory when linking 32-bit binaries.
|
117412 |
11-Jul-2003 |
kan |
Merge FreeBSD changes into GCC 3.3.1-prerelease: 1.2 Tweaks to make this file live beside our hacked config.
|
117408 |
11-Jul-2003 |
kan |
Merge FreeBSD modifications into gcc 3.3.1-prerelease: 1.11 -mno-align-long-strings.
|
117407 |
11-Jul-2003 |
kan |
Merge FreeBSD modifications into gcc 3.3.1-prerelease: 1.10 -mno-align-long-strings. 1.11 Allow the specification of LONG_TYPE_SIZE on the command line.
|
117404 |
11-Jul-2003 |
kan |
FreeBSD uses stock versions of these GCC files.
|
117396 |
11-Jul-2003 |
kan |
This commit was generated by cvs2svn to compensate for changes in r117395, which included commits to RCS files with non-trunk default branches.
|
114842 |
08-May-2003 |
obrien |
I goofed in rev 1.59 (a.out support axing) and missed getting FUNCTION_PROFILER fully clean. This resulted in inserted garbage into the produced assembly code when the gcc -pg and -fPIC options are used together.
PR: i386/50598 Submitted by: Don Lewis <truckman@freebsd.org>
|
114083 |
26-Apr-2003 |
obrien |
We're changing the platform name from x86[_-]86 to amd64.
|
114078 |
26-Apr-2003 |
obrien |
Fix the LINK_SPEC. Our i386 32-bit emulation name changed. We also need to look in the proper directory for 32-bit libs.
|
114077 |
26-Apr-2003 |
obrien |
Remove the last vestiges (I hope) of the mixed ELF/a.out support. As a plus we can use the stock CC1_SPEC and ASM_SPEC for AMD64.
|
113420 |
13-Apr-2003 |
kan |
Teach gcc how to put unitialized data into BSS on FreeBSD.
|
112681 |
26-Mar-2003 |
kan |
This commit was generated by cvs2svn to compensate for changes in r112680, which included commits to RCS files with non-trunk default branches.
|
110629 |
10-Feb-2003 |
kan |
Merge FreeBSD modifications into gcc 3.2.2 release: 1.10 -mno-align-long-strings. 1.11 Allow the specification of LONG_TYPE_SIZE on the command line.
|
110628 |
10-Feb-2003 |
kan |
Merge FreeBSD modifications into gcc 3.2.2 release: 1.11 -mno-align-long-strings. Note the change 1.15 is not needed anymore.
|
110612 |
10-Feb-2003 |
kan |
This commit was generated by cvs2svn to compensate for changes in r110611, which included commits to RCS files with non-trunk default branches.
|
108173 |
22-Dec-2002 |
kan |
Fix a bug in GCC which effectively prevents DEFAULT_PCC_STRUCT_RETURN from having any effect. This restores a calling convention traditionally used by FreeBSD/i386 and which is expected by a number of assembly sources in libc.
Reviewed by: obrien Approved by: re (rwatson)
|
107647 |
05-Dec-2002 |
obrien |
_NIH, __NIH__, __N_I_H__, __nih__, _niH_.
*sigh* GCC developers can't seem to make up their mind which pre-defined arch symbols are the official ones. So make them, and the Sparc64 using Martians happy with every permutation.
This fixes f77 and possibly changes some 'long long' handling.
Approved by: re(bmah)
|
107605 |
04-Dec-2002 |
obrien |
Update HEAD with FSF branch 3.2.1 release files.
|
107604 |
04-Dec-2002 |
obrien |
Use pure stock files.
|
107599 |
04-Dec-2002 |
obrien |
Fix typo to sync with FSF sources.
|
107598 |
04-Dec-2002 |
obrien |
Merge revs 1.10 (-mno-align-long-strings) and 1.11 (LONG_TYPE_SIZE override) into Gcc 3.2.1 release.
|
107597 |
04-Dec-2002 |
obrien |
Merge rev 1.11 (-mno-align-long-strings) into Gcc 3.2.1 release.
|
107591 |
04-Dec-2002 |
obrien |
This commit was generated by cvs2svn to compensate for changes in r107590, which included commits to RCS files with non-trunk default branches.
|
107589 |
04-Dec-2002 |
obrien |
This commit was generated by cvs2svn to compensate for changes in r107588, which included commits to RCS files with non-trunk default branches.
|
107540 |
03-Dec-2002 |
obrien |
Add spaces around FBSD_ENDFILE_SPEC as it is used in string concatenation.
Approved by: re(bmah)
|
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
|
106442 |
05-Nov-2002 |
obrien |
Sync with the stock FSF 3.2 file. This adds TRANSFER_FROM_TRAMPOLINE, which is needed in order for nexted C functions to work.
|
104768 |
10-Oct-2002 |
kan |
Merge FreeBSD modifications into gcc 3.2.1-prerelease: 1.10 -mno-align-long-strings 1.11 Allow the specification of LONG_TYPE_SIZE on the command line.
Approved by: obrien
|
104767 |
10-Oct-2002 |
kan |
Merge FreeBSD modifications into gcc 3.2.1-prerelease: 1.11 -mno-align-long-strings
Approved by: obrien
|
104753 |
10-Oct-2002 |
kan |
This commit was generated by cvs2svn to compensate for changes in r104752, which included commits to RCS files with non-trunk default branches.
|
103446 |
17-Sep-2002 |
kan |
This commit was generated by cvs2svn to compensate for changes in r103445, which included commits to RCS files with non-trunk default branches.
|
103261 |
12-Sep-2002 |
obrien |
Emacs decides between v8 and v9 based on "__arch64__". So define it.
Desired by: tmm
|
103259 |
12-Sep-2002 |
obrien |
Remove some debugging cruft I accidently committed with rev 1.4.
|
103258 |
12-Sep-2002 |
obrien |
Try to detect support for the `long long' type so that ANSI-C[89] clean code will know not to try to use `long long'. Unfortunately the GCC spec parser will not allow us to properly detect the "iso9899:1990" and "iso9899:199409" forms of the acceptable -std= arguments, because of the ':' in the -std argument. :-( I have left them in the spec as a place holder in hopes someone knows a way to make the detection of them work.
Desired by: wollman
|
103117 |
09-Sep-2002 |
obrien |
Bump __FreeBSD_cc_version for gcc 3.1-prerelease -> 3.2.1-snap upgrade.
|
102802 |
01-Sep-2002 |
kan |
Use the stock 3.2.1-prerelease file.
Approved by: obrien
|
102801 |
01-Sep-2002 |
kan |
Merge FreeBSD modifications into gcc 3.2.1-prerelease: 1.10 -mno-align-long-strings 1.11 Allow the specification of LONG_TYPE_SIZE on the command line.
Approved by: obrien
|
102800 |
01-Sep-2002 |
kan |
Merge FreeBSD modifications into gcc 3.2.1-prerelease: 1.11 -mno-align-long-strings
Approved by: obrien
|
102799 |
01-Sep-2002 |
kan |
Merge FreeBSD modifications into gcc 3.2.1-prerelease: 1.8 Change symbol values to match freebsd.h
Approved by: obrien
|
102798 |
01-Sep-2002 |
kan |
Use the stock 3.2.1-prerelease file.
Approved by: obrien
|
102781 |
01-Sep-2002 |
kan |
This commit was generated by cvs2svn to compensate for changes in r102780, which included commits to RCS files with non-trunk default branches.
|
99884 |
12-Jul-2002 |
obrien |
Fix C++ exception handling. GCC was using the older BSD DBX register numbers rather than the ELF ABI/SVR4 ones in its DWARF unwinding.
Submitted by: Alexander Kabaev <ak03@gte.com>
|
99883 |
12-Jul-2002 |
obrien |
When I decided to use a stock dbxout.c rather than merge the rev 1.2 change (put the function stabs in traditional order on a.out, or gdb doesn't see function local variables), I failed to remove the related knobs here.
Effectively were overrode the ELF-wide definition in elfos.h w/o providing new infrastructure. This is what caused GDB to fail to debug applications compiled and linked with -stabs. This is because GCC was unconditionally inserts .stabs instruction for functions after the function body. GDB was getting confused because what it thinks is function beginning address is actually function ending address.
Submitted by: Alexander Kabaev <ak03@gte.com>
|
98599 |
21-Jun-2002 |
obrien |
Tweaks to make these files live beside our hacked config.
|
98597 |
21-Jun-2002 |
obrien |
Tweaks for the 64-bit compiler.
|
98572 |
21-Jun-2002 |
obrien |
BDE prefers this organization.
Submitted by: bde
|
98096 |
10-Jun-2002 |
obrien |
cvs -j -j gave me two copies of TARGET_VERSION and I didn't notice it before committing.
|
97943 |
06-Jun-2002 |
obrien |
Match the DBX_OUTPUT_MAIN_SOURCE_FILE_END definition in dbxelf.h.
Bug found by: bde
|
97912 |
06-Jun-2002 |
obrien |
Allow the specification of LONG_TYPE_SIZE on the command line.
Submitted by: bde
|
97911 |
06-Jun-2002 |
obrien |
Implement "-mno-align-long-strings" which prevents pessimization of strings for space. -Os could do this, but it was easy to hack an MD version. This saves a whole 32 bytes in boot2, so I think it is worth using it. (keep how much worse gcc 3.2 will compile boot2...)
Submitted by: bde (minus gcc 3.2 commentary)
|
97910 |
06-Jun-2002 |
obrien |
Didn't get them all in revision 1.50.
|
97908 |
06-Jun-2002 |
obrien |
Fix excessive alignment for the aout case, and unbreak genassym for that case. Our aout linker has alignment hacks and doesn't need gcc to do anything special.
Tested for a year by: bde :-)
|
97907 |
06-Jun-2002 |
obrien |
Tidy do-while.
Requested by: bde
|
97827 |
04-Jun-2002 |
obrien |
The brokenness in ix86_expand_clrstr is quite visible when you compare the function with ix86_expand_movstr.
Submitted by: Tor Egge
|
97543 |
30-May-2002 |
obrien |
Seems we are not ready for revision 1.8.
|
97532 |
30-May-2002 |
obrien |
Make our default predefines ANSI clean.
|
96466 |
12-May-2002 |
obrien |
do-while ASM_OUTPUT_ALIGN to enable its use in more places.
|
96447 |
12-May-2002 |
obrien |
Fixes for building a.out bits.
Submitted by: bde
|
96362 |
10-May-2002 |
obrien |
Add tweaks needed when using as the system compiler.
|
96341 |
10-May-2002 |
obrien |
Change symbol values to match freebsd.h to avoid warnings.
|
96331 |
10-May-2002 |
obrien |
Remove files not part of GCC 3.1.
|
96294 |
09-May-2002 |
obrien |
Use the stock (3.1 pre) file.
|
96293 |
09-May-2002 |
obrien |
Use the stock file for now (but leave a note behind about our OBE changes).
|
96291 |
09-May-2002 |
obrien |
Use the stock (3.1) file.
|
96290 |
09-May-2002 |
obrien |
We use the stock (3.1) file.
|
96264 |
09-May-2002 |
obrien |
This commit was generated by cvs2svn to compensate for changes in r96263, which included commits to RCS files with non-trunk default branches.
|
96187 |
07-May-2002 |
obrien |
Alpha MD bits for Gcc 3.1.
|
96144 |
07-May-2002 |
obrien |
Comment a knob.
|
96143 |
07-May-2002 |
obrien |
The default ASM_OUTPUT_ADDR_DIFF_ELT will now handle our mixed a.out/ELF.
|
95811 |
30-Apr-2002 |
obrien |
MI bits for Gcc 3.1.
|
95810 |
30-Apr-2002 |
obrien |
i386 MD bits for Gcc 3.1.
These are totally untested. Do these work? Hell if I know, I have yet to bootstrap using these bits. But people want them, so here they are.
|
95349 |
24-Apr-2002 |
obrien |
Style changes to reduce diff to things I did in the FSF repo.
|
95348 |
24-Apr-2002 |
obrien |
Fix bug where we were loosing our platform-wide ASM_COMMENT_START definition due to pollution in i386/unix.h.
|
93298 |
27-Mar-2002 |
obrien |
GCC 3.1 uses crtstuff.c on Alpha now. [yay!]
|
93263 |
27-Mar-2002 |
obrien |
Switch register numbers for DWARF2_DEBUG also.
|
91221 |
25-Feb-2002 |
obrien |
Use the default 'ld' emulation rather than hard coding it. For FreeBSD, 'ld' 2.12.0 uses a different emulation than in the past. So this change makes the upgrade easier.
|
90286 |
06-Feb-2002 |
obrien |
Use the stock [3.l-snap] version of this.
|
90285 |
06-Feb-2002 |
obrien |
Use the stock [3.1-snap] file.
|
90284 |
06-Feb-2002 |
obrien |
Use the stock file for now.
The changes from GCC 2.95.3 to 3.1 are large and it is hard to figure out how to apply our changes. Once BDE can properly test GCC 3.1 he'll add back in our changes.
|
90283 |
06-Feb-2002 |
obrien |
Merge the stock gcc-3.1_snap file onto HEAD.
|
90076 |
01-Feb-2002 |
obrien |
This commit was generated by cvs2svn to compensate for changes in r90075, which included commits to RCS files with non-trunk default branches.
|
90029 |
31-Jan-2002 |
obrien |
MFC: gcc.295/config/alpha/freebsd.h revision 1.12: Remove our definition for FUNCTION_PROFILER as it is wrong.
Note that "jsr $28,_mcount" is a macro for ldq $27, _mcount($29) !literal!1 jsr $28, ($27), _mcount !lituse_jsr!1
1. The call to _mcount is added by alpha_expand_prologue after we load the gp. Our _mcount uses $27 for the incoming address, unlike OSF/1 and Linux, which use $28. This probably doesn't matter since we probably don't use $27 within _mcount itself. 2. You can't use this insn with _mcount because it uses the PLT, which clobbers the return address in $28. Note that the prologue_mcount pattern carefully avoids adding the lituse_jsr relocation so that we call through the GOT directly.
Submitted by: Richard Henderson <rth@redhat.com>
|
89885 |
27-Jan-2002 |
peter |
This commit was generated by cvs2svn to compensate for changes in r89884, which included commits to RCS files with non-trunk default branches.
|
81867 |
17-Aug-2001 |
obrien |
Re-initialize gp after a jsr.
When rtld runs the .fini section in a shared lib (C++), the code in question from .../contrib/gdb/config/alpha/crtbegin.asm first calls __do_globals_dtors_aux and then __do_frame_takedown. Unfortunately, the value of gp after a jsr is undefined and in this case had changed from before the call, probably as a result of calling code in some other shared library. The normal calling convention for alpha is to re-initialize gp using 'ldgp gp,0(ra)' after a jsr instruction but in this case no such re-initialization is done. This leads to a bogus value being read for the address of __do_frame_takedown and a quick segfault.
Submitted by: dfr Obtained from: GCC 3.0
|
76601 |
14-May-2001 |
obrien |
Make it easy for people to use define DWARF2 exceptions unwinding. If "WANT_DWARF2_UNWIND" you get it. Note that this is a different C++ ABI than the FreeBSD default. So you will need to recompile all your C++ apps that uses exceptions if you turn this on. I am adding it here for Yahoo!'s use and for those that want to be early adopters to what I will make as the default with the GCC 3.0 import.
|
76499 |
12-May-2001 |
obrien |
Choose the right LIB_SPEC for threads based on "__FreeBSD_version". This allows someone with an older -current to update their compiler [only].
Inspired by: Loren James Rittle <rittle@rsch.comm.mot.com>
|
74479 |
19-Mar-2001 |
obrien |
Remove some files that are no longer in the FSF branch.
|
74478 |
19-Mar-2001 |
obrien |
Merge gcc-2.95.3 changes onto mainline. Update FreeBSD changes to converge with changes made in the FSF tree.
|
73325 |
02-Mar-2001 |
obrien |
Change "NO_PROFILE_DATA" to "NO_PROFILE_COUNTERS" to match the commit by the FSF/GCC people in the stock 2.97 source that is like our custom change modulo the conditional compilation symbol.
|
73305 |
02-Mar-2001 |
obrien |
Move the obvious bits of mixed ELF and a.out support down into this MD header to reduce the difference of our sources to the stock GNU/FSF ones. While the mix binary format support was nice to have in the FreeBSD MI header as a frame work, it just clutters up too much and makes the FreeBSD MI header more different from the FSF/GNU stock one than it needs to be.
|
73304 |
02-Mar-2001 |
obrien |
Push as much as was easy of the mixed ELF & a.out support for the i386 into the i386 MD FreeBSD header. Also comment tweaking, continuation line style changes, and other minor changes to make this closer to the latest FSF/GNU 3.0 sources (to reduce my headache when 3.0 is imported).
|
73243 |
28-Feb-2001 |
obrien |
Stylistic changes mirroring ones done in the FSF/GNU 3.0 development sources.
|
72564 |
17-Feb-2001 |
obrien |
Merge gcc-2.95.3-test3 changes onto mainline. Bump FreeBSD cc version.
|
72563 |
17-Feb-2001 |
obrien |
This commit was generated by cvs2svn to compensate for changes in r72562, which included commits to RCS files with non-trunk default branches.
|
72151 |
08-Feb-2001 |
obrien |
Bump __FreeBSD_cc_version to 500002 to show the -pthread option change.
|
71646 |
25-Jan-2001 |
jdp |
Make the "-pthread" option work again, now that libc_r has to be linked in addition to libc rather than instead of libc.
Ideally, "-pthread" would now be equivalent to adding "-lc_r" to the end of the link command. But it is slightly different in this implementation. Adding "-lc_r" to the link command would produce a "ld" command line containing this:
... -lc_r /usr/lib/libgcc.a -lc /usr/lib/libgcc.a ...
but this implementation of the "-pthread" option produces this:
... /usr/lib/libgcc.a -lc_r -lc /usr/lib/libgcc.a ...
It would be possible to make them identical, but that doesn't fit as nicely into GCC's way of doing things. I don't think the ordering change will make any difference in practice.
|
70639 |
03-Jan-2001 |
obrien |
Merge gcc.2.95.3-test1 changes onto mainline
|
70636 |
03-Jan-2001 |
obrien |
This commit was generated by cvs2svn to compensate for changes in r70635, which included commits to RCS files with non-trunk default branches.
|
68601 |
11-Nov-2000 |
obrien |
Properly format the SUBTARGET_SWITCHES so that ``gcc -v --help'' prints them out.
PR: 19326 Submitted by: Naohiko Tsuji <yakisoba@f2.dion.ne.jp>
|
68452 |
07-Nov-2000 |
obrien |
Remove the -kthread option that matched [sort of] the LinuxThreads port. 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. The directions for properly linking with LinuxThreads are given by that port at install time.
Requested by: jasone
|
67965 |
30-Oct-2000 |
obrien |
Start using crt[in].o to adhear to the ELF ABI (and crtstuff.c's requirements).
|
60968 |
27-May-2000 |
obrien |
This commit was generated by cvs2svn to compensate for changes in r60967, which included commits to RCS files with non-trunk default branches.
|
60776 |
22-May-2000 |
obrien |
Do not use DWARF2 unwinding mechanisms for C++ exceptions on all of our platforms.
|
60731 |
20-May-2000 |
obrien |
ASM_DECLARE_OBJECT_NAME and ASM_FINISH_DECLARE_OBJECT are ELF MI routines to generate the special .type and .size directives which are used to set the corresponding fields of the linker symbol table entries in the ELF object file. As such they are not i386-specific and thus belong in our MI header. Otherwise on the Alpha we don't properly give the type and size of dynamic symbols. Bintuil versions past 2.9.1 warn of this and w/o this change, `ld' generates a lot of warnings during a `make world'.
|
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.
|
58469 |
23-Mar-2000 |
obrien |
This is FreeBSD version 5.0.
|
56810 |
29-Jan-2000 |
obrien |
Fix our -mprofiler-epilogue code.
"The problem is that egcs/gcc-2.95's reorganisation of the prologue and epilogue code to use rtl instead of output_asm_insn() completely broke our hooks. rtl is emitted in a different order, only after optimisation, while output_asm_insn() is emitted immediately. rtl is presumably used so that the prologue and epilogue can be optimised.
I couldn't find any good examples to copy. gcc's own FUNCTION_BLOCK_PROFILER still uses output_asm_insn() and seems to be completely broken. One of the XXX comments points to this.
IIRC, the hacks here basically arrange to emit magic label names; then when the magic names are output, they are transformed into prologue and epilogue code."
Submitted by: bde
|
56700 |
27-Jan-2000 |
obrien |
Bump __FreeBSD_version and __FreeBSD_cc_version due to the C++ ABI change in GCC 2.95.2 from -fvtable-thunks to -fno-vtable-thunks by default.
|
56576 |
25-Jan-2000 |
obrien |
Do not use "DEFAULT_VTABLE_THUNKS". The bugs that have existed since EGCS 1.x have not been worked out. And with 4.0 RELEASE comming quickly we need C++ to be stable and usable.
|
56391 |
22-Jan-2000 |
obrien |
Merge in the restore pic register fix from the vendor branch.
PR: 3441 Submitted by: Mark Diekhans <markd@Grizzly.COM>
|
56386 |
22-Jan-2000 |
obrien |
This commit was generated by cvs2svn to compensate for changes in r56385, which included commits to RCS files with non-trunk default branches.
|
54813 |
19-Dec-1999 |
obrien |
Use symbolic values rather than constants in TARGET_DEFAULT.
Submitted by: bde on -current
|
54807 |
19-Dec-1999 |
obrien |
Use a unified CPP_SPEC.
|
54665 |
16-Dec-1999 |
obrien |
Fix my CPP_SPEC synatax screwup.
Totally pissed at self: obrien
|
54630 |
15-Dec-1999 |
obrien |
Remove the defining of __i486__ baesd on TARGET_CPU_DEFAULT and !m386 or m486.
|
53661 |
24-Nov-1999 |
obrien |
This commit was generated by cvs2svn to compensate for changes in r53660, which included commits to RCS files with non-trunk default branches.
|
53658 |
24-Nov-1999 |
obrien |
This commit was generated by cvs2svn to compensate for changes in r53657, which included commits to RCS files with non-trunk default branches.
|
53655 |
24-Nov-1999 |
obrien |
This commit was generated by cvs2svn to compensate for changes in r53654, which included commits to RCS files with non-trunk default branches.
|
53262 |
17-Nov-1999 |
obrien |
* Remove a trailing ";" from a macro. * Style cleanup.
|
53260 |
17-Nov-1999 |
obrien |
This temperary file can die now.
|
53188 |
15-Nov-1999 |
obrien |
Fix a minor bogon.
|
53179 |
15-Nov-1999 |
obrien |
Undo rev 1.13 (define "OBSTACK_CHUNK_SIZE" as getpagesize()). It causes internal compiler errors and sig 11's with GCC 2.95.2.
|
53177 |
15-Nov-1999 |
obrien |
Add rev 1.2 profiling tweaks, to GCC 2.95.2.
|
53176 |
15-Nov-1999 |
obrien |
Use the stock 2.95.2 file here.
I cannot determine if our previous (rev 1.2) changes for ObjC are still appropriate.
|
53175 |
15-Nov-1999 |
obrien |
Bump __FreeBSD_cc_version due to the compiler upgrade.
|
53149 |
14-Nov-1999 |
obrien |
Make cross-compilation work for Alpha on i386 machines. Note that the optimizer has a bug somewhere. This means that only -O0 works at this time.
Submitted by: marcel
|
53148 |
14-Nov-1999 |
obrien |
Remove 'SET_ASM_OP' macro, which is unused now and rather harmful for recent Egcs 1.1.x.
Submitted by: simokawa
|
53147 |
14-Nov-1999 |
obrien |
Changes for Alpha and EGCS. * Commonalities with i386, moved to a FreeBSD wide config file. * Major additions to this file were adapted from Hidetoshi Shimokawa <simokawa@FreeBSD.ORG>'s Alpha suppliment to the Egcs 1.1.2 port.
|
53110 |
12-Nov-1999 |
marcel |
Make cross-compilation work for Alpha on i386 machines. Note that the optimizer has a bug somewhere. This means that only -O0 works at this time.
|
52751 |
01-Nov-1999 |
obrien |
This commit was generated by cvs2svn to compensate for changes in r52750, which included commits to RCS files with non-trunk default branches.
|
52297 |
16-Oct-1999 |
obrien |
Use this stock version of this.
|
52296 |
16-Oct-1999 |
obrien |
Use the stock file here. I cannot determine if our previous (rev 1.2) changes for ObjC are still appropriate.
|
52295 |
16-Oct-1999 |
obrien |
Use stock file here.
|
52294 |
16-Oct-1999 |
obrien |
Bring our profiling tweaks from rev 1.2 into GCC 2.95.1.
|
52285 |
16-Oct-1999 |
obrien |
This commit was generated by cvs2svn to compensate for changes in r52284, which included commits to RCS files with non-trunk default branches.
|
52269 |
15-Oct-1999 |
obrien |
Register the fact we want expand_main_function() to invoke __main.
|
52142 |
12-Oct-1999 |
obrien |
Remove a useless blank line, I accidently added.
|
52113 |
10-Oct-1999 |
obrien |
Move RCS tag to our normal place.
|
52112 |
10-Oct-1999 |
obrien |
Style cleanups: * be consistant on protecting "#define FOO"s with "#undef FOO". * be consistant that macro params are upper case, and commas are followed by a space in the macro definition * protect macro param expansion by ()'s * break long lines * line continuations chars to consistant column * remove trailing spaces
|
52111 |
10-Oct-1999 |
obrien |
Remove things common to all FreeBSD platforms. They will now live in a FreeBSD wide config file.
This includes "WORD_SWITCH_TAKES_ARG" & "SWITCH_TAKES_ARG". Platforms such as FreeBSD/MIPS will need to override these two defintions, but it can #undef them and define them approapiately.
|
51411 |
19-Sep-1999 |
obrien |
Bring our profiling tweaks into EGCS 1.1.2.
|
51410 |
19-Sep-1999 |
obrien |
"COMMENT_BEGIN" is no longer used.
|
51409 |
19-Sep-1999 |
obrien |
Support linking against libgcc_r.
Submitted by: Luoqi Chen <luoqi@chen.ml.org>
|
51408 |
19-Sep-1999 |
obrien |
This should get us the same functionality we had with GCC 2.7.2.1.
* Support for our dual ELF/a.out building ability * Our custom ASM_* definitions * Our custom debugger and profiling related definitions * Our custom STARTFILE/ENDFILE specs
* The stock EGCS 1.1.2 freebsd-elf.h file depended on egcs-1.1.2/gcc/config/linux.h, which included "svr4.h". We will include "svr4.h" via our "tm.h" definition. So add the few bits from "linux.h" we actually needed.
* Using our current crtbegin.o/crtend.o we cannot support the DWARF2 unwinding mechanisms. In the future we will switch to the non-sjlj-exceptions type exception machanism. However the `make world' bootstrap problems with the EGCS crtstuff.c must be overcome first.
* Our a.out gas doesn't "know" to use NOP's for aligns while in the text section. Thus the a.out alignment generation needed tweaking from what we did with GCC 2.7.2. [from BDE]
* The definition of SUPPORTS_ONE_ONLY prevents the compiler from trying to use "linkonce" sections for a.out. The definition of NO_DBX_FUNCTION_END we had causes it to avoid .stabs symbols that the assembler cannot handle for a.out. [from JDP]
* The previous "EXCEPTION_SECTION_FUNCTION" is the wrong name for EGCS. It also needed tweaking for EGCS. [from JDP]
Also bump __FreeBSD_cc_version to 400002 in case we need to know we are using EGCS at some point.
|
51406 |
19-Sep-1999 |
obrien |
Use the stock EGCS version of this.
|
50654 |
30-Aug-1999 |
obrien |
Use the stock EGCS 1.1.2 file here. Our previous changes are OBE. (code change by rev 1.3 has been removed, and 1.2 is not needed since contrib/gcc/cp/except.c is now the stock one)
|
50650 |
30-Aug-1999 |
obrien |
Use the stock EGCS 1.1.2 file here. I cannot determine if our previous changes for ObjC are still appropriate.
|
50647 |
30-Aug-1999 |
obrien |
This brings rev 1.2 into EGCS 1.1.2. Also tweaks gleemed from EGCS ChangeLog's. Note that rev 1.3 changes (HOST_PTR_PRINTF) was not brought into EGCS 1.1.2 as that is the default.
|
50398 |
26-Aug-1999 |
obrien |
This commit was generated by cvs2svn to compensate for changes in r50397, which included commits to RCS files with non-trunk default branches.
|
50080 |
20-Aug-1999 |
obrien |
* Consistantly surround macro parameters with () * Consistantly put spaces after "," in macro param lists * Consistantly align continuation characters. * Don't need to supply all variations of __FOO__ in CPP_PREDEFINES, gcc will do that for us.
|
50048 |
19-Aug-1999 |
obrien |
Move two of the DBX config directives to the common configuration header. Also simply CPP_PREDEFINES a little.
|
49854 |
15-Aug-1999 |
obrien |
Move "WORD_SWITCH_TAKES_ARG" & "SWITCH_TAKES_ARG" to the general spec file since their definitions were identical. FreeBSD/MIPS will need to override these two defintions, but it can #undef them and define them approapiately.
|
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.
|
48744 |
10-Jul-1999 |
obrien |
This commit was generated by cvs2svn to compensate for changes in r48743, which included commits to RCS files with non-trunk default branches.
|
48475 |
02-Jul-1999 |
obrien |
* The OBSTACK_CHUNK_SIZE #define was in the "Code generation parameters" section rather than the "Miscellaneous parameters" where it belongs.
* Clarify what we are locating using the -m rule.
Submitted by: bde
|
48474 |
02-Jul-1999 |
obrien |
The GNU standard about putting 2 spaces after sentences in comments was not consistantly followed.
Submitted by: bde
|
48302 |
28-Jun-1999 |
obrien |
Define "OBSTACK_CHUNK_SIZE" as getpagesize(). Our malloc can allocte pagesized blocks efficiently and the EGCS default size of 4072 bytes is not optimal.
Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
|
47866 |
10-Jun-1999 |
simokawa |
Remove 'SET_ASM_OP' macro, which is unused now and rather harmful for recent egcs.
|
47352 |
21-May-1999 |
jdp |
Fix typo (#unset where #undef was meant).
|
47333 |
20-May-1999 |
obrien |
Consistantly protect "#define FOO ..." with "#undef FOO".
|
46211 |
30-Apr-1999 |
obrien |
Turn DEFAULT_VTABLE_THUNKS back on. It caused problems with undefined symbols in libstdc++.
Until I have a chance to look at what that problem is and to carefully consider the upgrade issues of turning it back on at a later date if we leave it turned off for any extended peroid of time.
|
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
|
46122 |
27-Apr-1999 |
obrien |
Simplify the definition of FBSD_SWITCH_TAKES_ARG, and make sure SWITCH_TAKES_ARG isn't defined (which svr4.h does) when we assign our definition to it.
|
46118 |
27-Apr-1999 |
obrien |
Wait until EGCS 1.2 to use more efficient ``thunks'' to implement C++ vtables. While I have yet to hear of any problems with us using thunks. The EGCS mailing list notes some have problems with it and not using them are a safer default. People wanting to use them, can set the appropiate compiler flag.
|
45941 |
22-Apr-1999 |
obrien |
Use new `FBSD_SWITCH_TAKES_ARG' and `FBSD_WORD_SWITCH_TAKES_ARG'.
|
45940 |
22-Apr-1999 |
obrien |
Move `SWITCH_TAKES_ARG' to `FBSD_SWITCH_TAKES_ARG' and `WORD_SWITCH_TAKES_ARG' to `FBSD_WORD_SWITCH_TAKES_ARG' which allows architectures to tweak these values if needed.
|
45670 |
14-Apr-1999 |
obrien |
Support linking against libgcc_r.
Submitted by: Luoqi Chen <luoqi@chen.ml.org>
|
45474 |
08-Apr-1999 |
bde |
Removed unconditional definitions of __ELF__. They were redundant for elf and wrong for i386-aout.
|
45458 |
08-Apr-1999 |
obrien |
Merge shared LIB_SPEC into share config header.
|
45457 |
08-Apr-1999 |
obrien |
merge alpha/freebsd-elf.h into alpha/freebsd.h
Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
|
45379 |
06-Apr-1999 |
obrien |
Mispelled global option in usage.
|
45317 |
04-Apr-1999 |
obrien |
Fix space padding that was causing a problem in creating the final CPP_PREDEFINES.
|
45277 |
03-Apr-1999 |
obrien |
* Protect ourselves from any previously defined options. * Turn on DEFAULT_VTABLE_THUNKS. (it is the default anyway, I'm just being explicit about it, in case it causes us trouble it might be easier for someone to notice it this way)
|
45253 |
03-Apr-1999 |
obrien |
Bump __FreeBSD_cc_version to 400002 in case we need to know we are using EGCS at some point.
Submitted by: jdp
|
45137 |
30-Mar-1999 |
obrien |
Alpha architecture config files.
Obtained from: adapted from Hidetoshi Shimokawa <simokawa@FreeBSD.ORG>'s alpha suppliment to the Egcs port.
|
45135 |
30-Mar-1999 |
obrien |
Base configuration file for all FreeBSD targets.
|
43052 |
22-Jan-1999 |
obrien |
Update __FreeBSD__ and __FreeBSD_cc_version to be consistant with __FreeBSD_version
Forgotten by: Eivind and Some anonymous release engineer
|
40736 |
29-Oct-1998 |
jdp |
Per request from ache, change the numbering scheme of __FreeBSD_cc_version. Its form is now like __FreeBSD_version, with the FreeBSD revision in the top digits.
|
40715 |
29-Oct-1998 |
jdp |
Add a new predefined preprocessor symbol "__FreeBSD_cc_version", with a numeric value that describes the feature level of the compiler. This can be used to check for the presence/absence of FreeBSD-specific compiler features. The value is a decimal number whose digits have the form VRRRRFF, where:
V = Compiler vendor. 0 (elided) means gcc. RRRR = Vendor's version number, e.g., 2721 for the current gcc version (2.7.2.1). FF = FreeBSD-specific revision level. 00 means the stock compiler from the vendor.
The value of "__FreeBSD_cc_version" is hard-coded in "src/contrib/gcc/config/i386/freebsd.h" and must be incremented when new FreeBSD-specific compiler features are added. I considered simply picking up the value of FreeBSD_version from <osreldate.h>. But that would break cross compiles of gcc.
PR: Part of the fix for gnu/8452 Suggested by: bde
|
38928 |
07-Sep-1998 |
jdp |
Make profiling work for ELF. gprof now autodetects the format of the executable file, so it will work for both a.out and ELF format files. I have split the object format specific code into separate source files. It's cleaner than it was before, but it's still pretty crufty.
Don't cheat on your make world for this update. A lot of things have to be rebuilt for it to work, including the compiler and all of the profiled libraries.
|
38021 |
02-Aug-1998 |
bde |
Fixed printf format errors. gcc should have a macro HOST_PTR_PRINTF_TYPE to go with its HOST_PTR_PRINTF[_FORMAT], since if %p is wrong for the format then `void *' is probably wrong for the type.
|
37312 |
30-Jun-1998 |
bde |
Fixed printf format errors.
|
36769 |
08-Jun-1998 |
jb |
Add LIB_SPEC (same as on i386) so that gcc knows about libc_r.
|
35168 |
13-Apr-1998 |
peter |
-pg was causing a link with -lc_r... :-]
Submitted by: Dmitry Khrustalev <dima@xyzzy.machaon.ru> PR: 6287
|
34570 |
14-Mar-1998 |
jb |
Ouch, my local cvs walloped the version I thought I was committing. Here is what I intended.
|
34559 |
13-Mar-1998 |
jb |
On i386, freebsd.h and freebsd-elf.h have been merged to combine aout and elf support. freebsd-elf.h died as a result, so the BINFORMAT test for elf in src/gnu/usr.bin/cc/cc_tool/Makefile will need to use freebsd.h, not freebsd-elf.h. That means that alpha will have to go the same way. The new alpha/freebsd.h has the alpha/freebsd-elf.h definitions merged in.
|
34490 |
11-Mar-1998 |
jb |
Nuke crti.o from the STARTFILE_SPEC again. No asm code is needed on alpha.
Add the define that lets gas know how to ".set" and enable pragmas so that #pragma weak will work.
|
34451 |
10-Mar-1998 |
jb |
Change the LINK_SPEC to specify the same runtime loader as used on i386-elf because that is what will be used for FreeBSD/Alpha.
Change the STARTFILE_SPEC to match the non-aout version of i386 so that the csu files can be built in exactly the same way as i386-elf. This means that FreeBSD/Alpha departs from NetBSD/Alpha which uses crt0 and crtbegin/crtend. Since i386-aout uses crt0, I guess it was decided that i386-elf should use crt1. i386-elf also references crti and with this change, so does FreeBAS/Alpha.
I think it is important for FreeBSD to have a consistent implementation across architectures and since ELF is quite compatible (ignoring differences in 32 and 64 bits), gcc might as well be configured the same.
Another change is that the entry symbol is _start, not __start as in NetBSD.
|
34363 |
09-Mar-1998 |
peter |
Both our a.out (hacked) gas and the binutils gas support .weak
Prompted by: bde
|
34349 |
09-Mar-1998 |
peter |
Don't disable the use of $ in assembler labels.. It changes libstdc++ and libg++ so that they won't work with existing binaries (including netscape!!).
|
34314 |
08-Mar-1998 |
peter |
Spell -Bshareable correctly... :-]
|
34285 |
08-Mar-1998 |
peter |
svr4.h defines ASM_IDENTIFY_GCC, but neglects to define ASM_IDENTIFY_LANGUAGE. Use the osfrose.h method, because gdb assumes 'C' by default, so there's no need to further clutter the symbol table.
|
34284 |
08-Mar-1998 |
peter |
Cosmetic cleanup for a.out asm generation.. Don't put the end-of-file markers that the stabs-in-elf system uses.
|
34269 |
08-Mar-1998 |
peter |
Put the function stabs in traditional order on a.out, or gdb doesn't see function local variables.
|
34230 |
08-Mar-1998 |
peter |
Add hooks for John Birrell's kernel thread support library.
Submitted by: John Birrell <jb@cimlogic.com.au>
|
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
|
32455 |
12-Jan-1998 |
jb |
Upgrade the cpp pre-defines to include -Dunix. Turns out we need that to compile m4.
And don't just define __FreeBSD__, but define it as -D__FreeBSD__=3 like on i386.
|
32424 |
11-Jan-1998 |
jb |
Add the alpha MD files for gcc to product ELF for FreeBSD/Alpha.
See freebsd.h and freebsd-elf.h for the silly comment that cgd@netbsd.org wanted me to add about his claim that uncommented source files that have been publicly available for ftp for nearly a year; that are configuration patches to a GPL'ed program; are owned by his previous employer who refuses to release them. Well... I did as he said. As if that makes a difference!
At this point we've got cpp, gcc, g++ ported to FreeBSD/Alpha so all the code that uses __FreeBSD__ is correctly pre-processed. Yay.
I'll commit the bootstrap makefile next to let others play, then on to libc.
|
28882 |
29-Aug-1997 |
peter |
Merge in some of my changes with John's. I've used this to build an ELF system. I'm not sure about some of the things here. We definately need to go back and rationalize this.
|
28846 |
28-Aug-1997 |
jdp |
Add the necessary defines to the freebsd-elf configuration so that it can be built via BINFORMAT=elf in the environment. Most likely some of the directory defines such as STANDARD_EXEC_PREFIX will change again soon, as we settle on the proper locations for the various components.
Note, the build still fails when it tries to compile libgcc2.c using the ELF compiler, unless arrangements have been made for the compiler to find the ELF assembler instead of the a.out assembler.
|
25733 |
12-May-1997 |
peter |
The -pthread option was added to freebsd.h but missed from freebsd-elf.h
|
25400 |
03-May-1997 |
jb |
Let gcc know about libc_r. Use -pthread to link against libc_r instead of libc.
|
24758 |
09-Apr-1997 |
jdp |
Make "gcc -shared" work properly for building shared libraries. An up-to-date version of c++rt0.o is necessary for this to work right.
Closes PR gnu/3035: gcc -shared flag is broken.
|
24658 |
05-Apr-1997 |
jdp |
Disallow "-p" when linking, with a diagnostic that recommends using "-pg" and gprof(1) instead. FreeBSD does not support plain "-p" or prof(1).
Plain "-p" is still allowed when just compiling. In the compile phase, "-p" is identical "-pg". It is used by <bsd.lib.mk> for building profiled object files.
|
24295 |
26-Mar-1997 |
jdp |
Update the value of "__FreeBSD__" to 3 for the ELF compiler.
|
24257 |
25-Mar-1997 |
asami |
-current is now 3.0. NOT a 2.2 candidate. :)
|
23076 |
24-Feb-1997 |
obrien |
Undo rev 1.4 of freebsd.h and 1.2 freebsd-elf.h, where I added _BSD4_4 as a predefined symbol. People on the lists generally didn't care for it.
|
22809 |
16-Feb-1997 |
obrien |
Add _BSD4_4 as a predefined symbol. Peter Dufault (dufault@hda.com) suggested this is the most approate symbol to use.
2.2-R candidate.
|
19194 |
26-Oct-1996 |
peter |
Apparently this patch fixes the objc backend on the i386 platforms. Without this, compiled programs die with FP errors.
This is originally credited to: jlemon@netcom.com (Jonathan Lemon), and has been forwarded to me by quite a few of people.
|
18659 |
03-Oct-1996 |
jdp |
Fix a bug that caused incorrect PIC code to be generated for exceptions. The symptom was an assembler warning
"GOT relocation burb: `___EXCEPTION_TABLE__' should be global"
followed (sometimes) by a core dump. The fix makes the compiler generate the correct GOTOFF addressing for that symbol, rather than the GOT addressing it was emitting before.
Warning: There is still at least one serious bug in the i386 exception code for PIC. The exception code that is generated clobbers the GOT register (%ebx) and then tries to use it later. That leads to core dumps at program execution time. I know where the problem is, but I do not have a fix for it at this time. Until it is fixed, exceptions will not work in PIC code. This is a general problem for all i386 platforms; it is not specific to FreeBSD.
|
18604 |
01-Oct-1996 |
peter |
Activate the .weak code generation for libgcc.a and g++ now that it works.
|
18349 |
18-Sep-1996 |
peter |
Merge in freebsd-specific changes
|
18348 |
18-Sep-1996 |
peter |
Add in hooks to produce assembler output suitable for binutils+elf Obtained from: John Polstra <jdp@freebsd.org>, from his elfkit.
|
18337 |
18-Sep-1996 |
peter |
This commit was generated by cvs2svn to compensate for changes in r18336, which included commits to RCS files with non-trunk default branches.
|
18335 |
18-Sep-1996 |
peter |
This commit was generated by cvs2svn to compensate for changes in r18334, which included commits to RCS files with non-trunk default branches.
|