| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
GCC 4.2.1 was disconnected from FreeBSD in r358454.
Sponsored by: The FreeBSD Foundation
Notes:
svn path=/head/; revision=358459
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
PowerPC has two PLT models: BSS-PLT and Secure-PLT. BSS-PLT uses runtime
code generation to generate the PLT stubs. Secure-PLT was introduced with
GCC 4.1 and Binutils 2.17 (base has GCC 4.2.1 and Binutils 2.17), and is a
more secure PLT format, using a read-only linkage table, with the dynamic
linker populating a non-executable index table.
This is the libc, rtld, and kernel support only. The toolchain and build
parts will be updated separately.
Reviewed By: nwhitehorn, bdragon, pfg
Differential Revision: https://reviews.freebsd.org/D20598
MFC after: 1 month
Notes:
svn path=/head/; revision=349350
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Bump MACHINE_TRIPLE, TARGET_TRIPLE, FBSD_MAJOR, FBSD_CC_VER,
FREEBSD_CC_VERSION, OS_VERSION.
- Update comment in UPDATING regarding debugging options.
- Remove debug.witness.trace=0 from installation media.
- Bump __FreeBSD_version.
Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation
Notes:
svn path=/head/; revision=339436
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Change the C++ directory entries to honor --sysroot if it is set.
- Don't define CROSS_INCLUDE_DIR for the cross compiler. Instead, set
TARGET_SYSTEM_ROOT to point to WORLDTMP and always define
STANDARD_INCLUDE_DIR.
- Change STANDARD_INCLUDE_DIR and the C++ include directories to just
start with "/usr" always. The compiler will prepend the sysroot when
doing cross-builds. GCC_INCLUDE_DIR (which contains headers that ship
with the compiler such as intrinsincs rather than OS-supplied headers)
remains hardcoded to look in TOOLS_PREFIX.
Reviewed by: bdrewery (older version)
Sponsored by: DARPA / AFRL
Differential Revision: https://reviews.freebsd.org/D15127
Notes:
svn path=/head/; revision=335717
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The MIPS assembly parser treats forward-declared local symbols as global
symbols. This results in CALL16 relocations being used against local
(private) symbols which then fail to resolve when linking binaries.
Add .local to force the init and fini functions to be treated as local as
a workaround.
Submitted by: sbruno
Sponsored by: DARPA / AFRL
Notes:
svn path=/head/; revision=328939
|
|
|
|
|
|
|
|
|
|
| |
We no longer try to build unwind-dw2.c on arm64 so no need for this
workaround.
Sponsored by: The FreeBSD Foundation
Notes:
svn path=/head/; revision=327889
|
|
|
|
|
|
|
|
|
|
|
| |
If unwinding stops due to hitting the end of the call chain, the return
value is supposed to be _URC_END_OF_STACK; other values indicate internal
errors. The return value from get_eit_entry() is now returned without
translating it to _URC_FAILURE, so that callers can see _URC_END_OF_STACK
when it happens.
Notes:
svn path=/head/; revision=323998
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When raising an exception, the unwinder searches for a catch handler and if
none is found it should invoke std::terminate() with the uncaught exception
as the "current" exception. Before this change, the terminate handler was
invoked with no exception as current (abi::__cxa_current_exception_type()
returned NULL), because the return value from the unwinder indicated an
internal failure in unwinding. It turns out that was because all errors
from get_eit_entry() were translated to _URC_FAILURE. Now the error is
returned untranslated, which allows _URC_END_OF_STACK to percolate upwards
to throw_exception() in libcxxrt. When it sees that return status it
properly calls std::terminate() with the uncaught exception installed
as the current exception, allowing custom terminate handlers to work
with it.
Notes:
svn path=/head/; revision=323997
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(to match official RISC-V target for GCC 7.1).
This is only a minimal config required to build c start up (csu).
This fixes build after r322429 ("Make _TO_CPUARCH macro for
ARCH to CPUARCH conversions")
Reported by: lwhsu
Sponsored by: DARPA, AFRL
Notes:
svn path=/head/; revision=322508
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is no-op and only for reference: the S/390 port seems to be elusive
in the BSDs so it is convenient to keep some trace from past efforts.
It is likely newer attempts will focus on a newer toolchain using clang
instead.
Obtained from: Perforce depot/projects/s390
Notes:
svn path=/head/; revision=318750
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In real GNU libgcc, _Unwind_Backtrace is published with GCC_3.3 version
for all architectures but ARM. For ARM it's publishes with GCC_4.3.0
version.
This exception is not implement in your version of libggc, thus we
export _Unwind_Backtrace with bad version. To maintain backward
compatibility, publish _Unwind_Backtrace twice, once as compatible
symbol with GCC_3.3 version, and once as default symbol with
GCC_4.3.0 version.
While I'm in, fix typo in GCC_4.2.0 to GCC_4.3.0 inheritance declaration.
MFC after: 2 weeks
Notes:
svn path=/head/; revision=318024
|
|
|
|
|
|
|
| |
This prevents internal compiler errors when -mcpu is omitted.
Notes:
svn path=/head/; revision=316807
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In r208737 jmallett@ 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.
PR: 216516
MFC after: 1 month
Sponsored by: The FreeBSD Foundation
Notes:
svn path=/head/; revision=312899
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The Freescale e500v2 PowerPC core does not use a standard FPU.
Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processor
unit, which doubles as a FPU. The PowerPC SPE ABI is incompatible with the
stock powerpc ABI, so a new MACHINE_ARCH was created to deal with this.
Additionaly, the SPE opcodes overlap with Altivec, so these are mutually
exclusive. Taking advantage of this fact, a new file, powerpc/booke/spe.c, was
created with the same function set as in powerpc/powerpc/altivec.c, so it
becomes effectively a drop-in replacement. setjmp/longjmp were modified to save
the upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible by
the SPE).
Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does not
support double-precision floating point.
Also, without a new MACHINE_ARCH it would be impossible to provide binary
packages which utilize the SPE.
Additionally, no work has been done to support ports, work is needed for this.
This also means no newer gcc can yet be used. However, gcc's powerpc support
has been refactored which would make adding a powerpcspe-freebsd target very
easy.
Test Plan:
This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222
(P1022-based) board, compiled against the new ABI. Base system utilities
(/bin/sh, /bin/ls, etc) still function appropriately, the system is able to boot
multiuser.
Reviewed By: bdrewery, imp
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D5683
Notes:
svn path=/head/; revision=307761
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bring older verbatim version of cpuid.h
This file is used regularly in FreeBSD builds but we usually use the
similar file provided by clang.
By providing the older file introduced in GCC 4.3, we hope to mimic
better what is provided by an external toolchain.
Obtained from: GCC-4_3-branch (SVN rev. 129548, pre GPLv3)
Notes:
svn path=/head/; revision=305092
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We brought an original __COUNTER__ implementation in r228474, however, it
was missing documentation and it had a different behaviour for precompiled
headers with respect to the upstream version. Since the upstream version
is under the same license as GCC4.2, bring the missing pieces to reduce
differences against upstream.
Optained from: GCC pre-4.3 (rev. 125041 ; GPLv2)
Notes:
svn path=/head/; revision=305083
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
llvm libunwind includes a libunwind.cpp, but on ARM libunwind.S is found
first in .PATH. Rename the latter one, since it is not going to be
updated again.
Reviewed by: andrew
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D7162
Notes:
svn path=/head/; revision=303396
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Submitted by: bdrewery
Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation
Notes:
svn path=/head/; revision=302418
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
Notes:
svn path=/head/; revision=300822
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Missing hunk from r300301.
Reported by: Ed Schouten
Obtained from: OpenBSD (CVS rev. 1.2)
Notes:
svn path=/head/; revision=300319
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a C11 feature that is starting to get used in places such as Mesa.
This implementation takes a different approach to upstream and is
therefore not covered by GPLv3.
Obtained from: OpenBSD (CVS rev. 1.2)
MFC after: 3 weeks
Notes:
svn path=/head/; revision=300301
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is required to build csu.
Reviewed by: andrew
Sponsored by: DARPA, AFRL
Sponsored by: HEIF5
Differential Revision: https://reviews.freebsd.org/D5039
Notes:
svn path=/head/; revision=294634
|
| |
| |
| |
| | |
Notes:
svn path=/head/; revision=292627
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Correct handling of enum attributes with g++
It is causing issues on some platforms.
Reported by: sbruno (through adrian)
Notes:
svn path=/head/; revision=289160
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
From OpenBSD's commit log:
This was responsible for memory corruption with recent versions
of Mesa where c and c++ code share a header with a packed enum type.
Reference:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39219
Obtained from: OpenBSD (CVS rev. 1.2)
MFC after: 1 week
Notes:
svn path=/head/; revision=289150
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
the non-executable stack.
Reviewed by: andrew
Sponsored by: The FreeBSD Foundation
Notes:
svn path=/head/; revision=288373
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This includes additional functions to be protected: those that
have local array definitions, or have references to local frame
addresses. This is a new option in GCC-4.9 that was relicensed
by Han Shen from Google under GPLv2 for OpenBSD.
Obtained from: OpenBSD (2014-01-14)
MFC after: 2 weeks
Notes:
svn path=/head/; revision=286074
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some point after gcc-4.2 the MIPS inline assembly restrictions changed -
=h (hi register) disappeared from the list of restrictions and can no
longer be used.
So, until someone requires an assembly version of this function,
just use a non-assembly version and let the compiler sort it out.
Suggested by: kan
Notes:
svn path=/head/; revision=284546
|
| |
| |
| |
| | |
Notes:
svn path=/head/; revision=283804
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
DW_OP_GNU_uninit
DW_OP_piece
This squashes the warnings about type 0x93 not known in kgdb when opening a kernel crash dump.
Upstream refs:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=87808bd699575a850139a1f916512ab7a47fd496
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=42be36b328ae784ae6981da7c7cab95b67ed7737
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=23572ecadc89af384c1804ad7692f32c55fbfc80
Differential Revision: https://reviews.freebsd.org/D2534
Reviewed by: emaste, jhb, davide
Notes:
svn path=/head/; revision=283029
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The __builtin_init_dwarf_reg_size_table function is unimplemented in
clang 3.6 for AArch64. Comment it out for now and replace it with
a message and abort.
Tracked in upstream LLVM PR 22997
https://llvm.org/bugs/show_bug.cgi?id=22997
Submitted by: andrew
Notes:
svn path=/head/; revision=280909
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
this exceptions could write over the stack.
Sponsored by: The FreeBSD Foundation
Notes:
svn path=/head/; revision=280704
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
get from gcc, and libgcc_eh.
Sponsored by: The FreeBSD Foundation
Notes:
svn path=/head/; revision=280437
|
| |
| |
| |
| |
| |
| |
| |
| | |
symbols and not macros. Make this so. This fixes a few ports that try to
link against these functions but fail as they previously didn't exist.
Notes:
svn path=/head/; revision=278023
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This will result in __ARM_ARCH_7A__ being defined during the compile.
When compiling with gcc, it will still only generate armv6 opcodes itself,
but should pass the arch to gas so that inline asm can use v7 opcodes.
Notes:
svn path=/head/; revision=276045
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
PR c++/48211
* name-lookup.h (cp_class_binding): Make base a pointer.
* name-lookup.c (new_class_binding): Adjust.
(poplevel_class): Adjust.
This fixes a potential segfault when compiling gold, a part of the
devel/binutils port, with gcc. See also the upstream bug report:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48211
Thanks to Jason Merrill, Tom Callaway and Red Hat legal for approving
the use of this patch under the GNU GPL, version 2 or later.
MFC after: 1 week
Notes:
svn path=/head/; revision=275477
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
assembler doesn't allow these two instructions to use co-processor 11.
MFC after: 1 Week
Sponsored by: ABT Systems Ltd
Notes:
svn path=/head/; revision=275380
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
are aliases.
Sponsored by: ABT Systems Ltd
Notes:
svn path=/head/; revision=275337
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
MFC after: 3 days
Notes:
svn path=/head/; revision=269948
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
relocations in unwind data as pc-relative indirect references.
MFC after: 1 week
Notes:
svn path=/head/; revision=268994
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
detailing how to report bugs.
Hat: bugmeister
MFC after: 3 days
Notes:
svn path=/head/; revision=267483
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
MFC after: 1 week
Notes:
svn path=/head/; revision=265231
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This mimics the behaviour in clang and lets us build cleanly
the libdispatch port on platforms where the base gcc is still
the default compiler.
Bump __FreeBSD_version for ports.
Tested by: theraven
MFC after: 3 days
Notes:
svn path=/head/; revision=264121
|
| |
| |
| |
| |
| |
| |
| |
| | |
sparc64 from contrib/gcc/longlong.h, which are considered "heinous" GNU
extensions by clang.
Notes:
svn path=/projects/clang-sparc64/; revision=262269
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
all of the features in the current working draft of the upcoming C++
standard, provisionally named C++1y.
The code generator's performance is greatly increased, and the loop
auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The
PowerPC backend has made several major improvements to code generation
quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ
backends have all seen major feature work.
Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.4/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.4/tools/clang/docs/ReleaseNotes.html>
MFC after: 1 month
Notes:
svn path=/head/; revision=261991
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Support for warnings about missing prototypes in C++ was added by Apple
GCC (Radar 6261539). Most of the code crept into r260311 so it felt
natural to make use of it.
Obtained from: Apple GCC - 5646
MFC after: 5 days
Notes:
svn path=/head/; revision=261178
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Among some of the objc changes from Apple that crept into r260311,
Radar 5355344 is incomplete and is not used since we don't carry
ObjC in the base system.
The dead code seems to have caused issues in some Tinderboxes so
get rid of it altogether.
Reported by: luigi
MFC after: 9 days
Notes:
svn path=/head/; revision=260831
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Without this gcc would generate byte loads for a little-endian core.
MFC after: 1 week
Notes:
svn path=/head/; revision=260565
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
GCC-PR rtl-optimization/34628
* combine.c (try_combine): Stop and undo after the first combination
if an autoincrement side-effect on the first insn has effectively
been lost.
The issue was detected in OpenBSD but their fix was not very good. Huge
thanks to the upstream author, Eric Botcazou, for permitting the use of
this patch under GPLv2.
MFC after: 5 days
Notes:
svn path=/head/; revision=260361
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
llvm-gcc backported some patches from gcc trunk:
http://gcc.gnu.org/ml/gcc-cvs/2007-05/msg00662.html
http://gcc.gnu.org/ml/gcc-cvs/2007-07/msg00019.html
http://gcc.gnu.org/ml/gcc-cvs/2007-08/msg00240.html
http://gcc.gnu.org/ml/gcc-cvs/2007-08/msg00493.html
The first two were always GPL2. The last two were
added after the GPL3 transition, but were written
by aaw@google.com and Rafael EspĂndola got permission
to relicense them under the GPL2 for inclusion in
llvm-gcc.
This fixes GCC-PR c++/31749
Obtained from: llvm-gcc (rev. 75463; GPLv2)
MFC after: 2 weeks
Notes:
svn path=/head/; revision=260332
|