| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Add a comment to files/patch-libgcc_unwind.inc to remember when it will
get obsolete, i.e. once all supported FreeBSD releases include commit
22e564c74eb20e14bd93fd9fdde20e38a29cfcf1.
PR: 285711
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Compiling GCC with some CPUTYPE values (e.g. broadwell) result in
breaking some applications (e.g. math/octave, cad/freecad), sending a
SIGBUS.
The issue is due to GCC generating instructions that require variables
to be aligned in memory on certain CPUs. Our libthr does not have the
required alignment so these CPUs fail to execute these instructions.
The patch disables the generation of such instructions.
PR: 285711
Reported by: cracauer
Tested by: cracauer, jbo
|
|
|
|
|
|
|
|
| |
Also remove recently added patch that fixed binaries compiled with the
-static option as it has been merged upstream with commit
23541b23deb5504c6d3c0a3e96a0858e10c3c627.
PR: 284441
|
|
|
|
|
|
|
|
|
|
| |
Fix segmentation faults caused by -static flag into compiled binaries.
Email thread: https://lists.freebsd.org/archives/freebsd-hackers/2025-January/004236.html
Upstream bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118685
PR: 284441
Reported by: kargl
|
|
|
|
|
|
| |
Also delete obsolete patches, upstreamed in upstream commits
a995fded34fe488153b06bb41e026277f01efded and
8f11ed1c58e14421ba4be1652764fc47fdce8dc7.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fix build without bootstrap
When more recent gcc ports are built without bootstrap, compiling libcc1
plugins results in errors similar to:
In file included from /wrkdirs/share/dim/ports/lang/gcc13/work/gcc-13.2.0/libcc1/libcc1plugin.cc:72:
In file included from /usr/include/c++/v1/vector:321:
In file included from /usr/include/c++/v1/__format/formatter_bool.h:20:
In file included from /usr/include/c++/v1/__format/formatter_integral.h:32:
/usr/include/c++/v1/locale:289:36: error: attempt to use a poisoned identifier
289 | __status = (unsigned char*)malloc(__nkw);
| ^
/usr/include/c++/v1/locale:1584:28: error: attempt to use a poisoned identifier
1584 | __ob = (char_type*)malloc(2*static_cast<size_t>(__nc)*sizeof(char_type));
| ^
This is because gcc's own system.h header poisons these identifiers, and
the libcc1 plugins include <vector> after that. (Note that libstdc++ is
not affected because they seem to have implicitly included <vector>
already at that point.)
Fix it by telling system.h to include <vector> at the correct place, and
removing the explicit includes from libcc1plugin.cc and libcp1plugin.cc.
PR: 275748
MFH: 2023Q4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
lang/gcc13 lang/gcc13-devel lang/gcc14-devel: fix build with libc++ 17
When building relatively recent gcc ports (with C++ in them) against
libc++ 17, you get errors similar to:
In file included from /wrkdirs/usr/ports/lang/gcc12/work/gcc-12.2.0/gcc/cp/module.cc:208:
In file included from /wrkdirs/usr/ports/lang/gcc12/work/gcc-12.2.0/gcc/system.h:239:
In file included from /usr/include/c++/v1/vector:321:
In file included from /usr/include/c++/v1/__format/formatter_bool.h:20:
In file included from /usr/include/c++/v1/__format/formatter_integral.h:32:
In file included from /usr/include/c++/v1/locale:202:
/usr/include/c++/v1/__locale:546:5: error: '__abi_tag__' attribute only applies to structs, variables, functions, and namespaces
546 | _LIBCPP_INLINE_VISIBILITY
| ^
/usr/include/c++/v1/__config:813:37: note: expanded from macro '_LIBCPP_INLINE_VISIBILITY'
813 | # define _LIBCPP_INLINE_VISIBILITY _LIBCPP_HIDE_FROM_ABI
| ^
/usr/include/c++/v1/__config:792:26: note: expanded from macro '_LIBCPP_HIDE_FROM_ABI'
792 | __attribute__((__abi_tag__(_LIBCPP_TOSTRING(_LIBCPP_VERSIONED_IDENTIFIER))))
| ^
In file included from /wrkdirs/usr/ports/lang/gcc12/work/gcc-12.2.0/gcc/cp/module.cc:208:
In file included from /wrkdirs/usr/ports/lang/gcc12/work/gcc-12.2.0/gcc/system.h:239:
In file included from /usr/include/c++/v1/vector:321:
In file included from /usr/include/c++/v1/__format/formatter_bool.h:20:
In file included from /usr/include/c++/v1/__format/formatter_integral.h:32:
In file included from /usr/include/c++/v1/locale:202:
/usr/include/c++/v1/__locale:547:37: error: expected ';' at end of declaration list
547 | char_type toupper(char_type __c) const
| ^
/usr/include/c++/v1/__locale:553:48: error: too many arguments provided to function-like macro invocation
553 | const char_type* toupper(char_type* __low, const char_type* __high) const
| ^
/wrkdirs/usr/ports/lang/gcc12/work/gcc-12.2.0/gcc/../include/safe-ctype.h:146:9: note: macro 'toupper' defined here
146 | #define toupper(c) do_not_use_toupper_with_safe_ctype
| ^
This is because gcc/system.h includes safe-ctype.h which redefines ctype
macros such as toupper, tolower, etc to "poison" them.
However, it should only include the safe-ctype.h header *after* any C++
headers, such as <list>, <map>, <string>, etc, otherwise these might
transitively include internal ctype headers (such as with libc++ 17),
causing the above conflicts.
Fix it by moving the safe-ctype.h inclusion to later in gcc/system.h,
which solves this issue, and makes it possible to build against libc++
17.
See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111632
PR: 274041
Approved by: salvadore (maintainer)
MFH: 2023Q4
|
|
|
|
|
|
|
| |
Add an error line that was missing in case _FreeBSD_version < 1000010.
Reported by: gnikl@users.sourceforge.net
Fixes: 8c2a479977f0 lang/gcc12-devel: Enable support for .init_array and .fini_array
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enable support for .init_array and .fini_array, which FreeBSD supports
since commit 83aa9cc00c2d83d05a0efe7a1496d8aab4a153bb in the src
repository.
There __FreeBSD_version is 1000009, so we start enabling the support
from __FreeBSD_version == 1000010.
See also review https://reviews.freebsd.org/D39968 for lang/gcc11-devel.
Reported by: Dan McGregor <dan.mcgregor@usask.ca>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Software compiled with -fsanitize=address needs ASLR to be disabled to
run successfully.
Add patches taken from the commits listed below that improve ASLR
detection and re-execute the program with ASLR disabled if necessary.
https://cgit.freebsd.org/src/commit/?id=7cafe89f9ce33effe6e471b185339d413da1ca46
https://cgit.freebsd.org/src/commit/?id=930a7c2ac67e1e8e511aa1d0a31a16c632060ebb
https://cgit.freebsd.org/src/commit/?id=96fe7c8ab0f65cf829619abd74ae6c126b21e15f
PR: 267751
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Software compiled with -fsanitize=address fails to run with the error
message "ASan runtime does not come first in initial library list; you
should either link runtime to your application or manually preload it
with LD_PRELOAD".
This commit fixes the issue by ignoring the [vdso] loaded shared library
instead of linux-vdso.so.
PR: 267751
Reported by: yuri
|
|
|
|
|
|
|
|
| |
Fix -stdlib=libc++ option which produced "error: unrecognized
command-line option '-stdlib=libc++'".
PR: 265962
Reported by: jbeich
|
|
|
|
|
| |
Since this is now the new stable branch, copy patch-clang-vec_step from other
GCC ports and switch to using clang on powerpc64*.
|
|
|
|
|
|
|
|
|
| |
(In preparation of the release the version number has moved from
12.0.0 to 12.0.1.)
One of the files touched by files/patch-gfortran-libgcc has been
renamed from .c to .cc, so tweak our patch accordingly. No functional
change there.
|
|
|
|
|
| |
We addressed the libsanitizer build issue slightly differently
upstream, and files/patch-libsanitzer-buildfix can be removed.
|
|
|
|
|
|
| |
Based on my upstream work which landed in this snapshot adjust
our local files/patch-libsanitzer-buildfix (which then should go
away as a next step).
|
|
|
|
|
|
| |
libsanitizer brought in improved support for FreeBSD, alas in
conflict with one of GCC's headers file (md5.h); add a temporary
hack via files/patch-libsanitzer-buildfix .
|
|
|
|
|
| |
files/patch-bootstrap-gcc-gcc.c came from upstream and is part of
that snapshot now, so remove it.
|
|
|
|
|
|
|
|
|
|
| |
files/patch-gcc-analyzer-bootstrap has been included upstream as has
an enhanced version of files/patch-libgfortran-bootstrap, alas we now
need files/patch-bootstrap-gcc-gcc.c as a temporary back port addressing
another bootstrap issue - "two steps forwards, one step back".
The internal compiler error on amd64 has been addressed, so unbreak
that architecture.
|
|
|
|
|
|
|
|
|
|
|
| |
Add files/patch-gcc-analyzer-bootstrap to fix bootstrap with clang.
Add files/patch-libgfortran-bootstrap to fix bootstrap on i386 and
FreeBSD's idiosyncratic floating point settings.
Temporarily mark BROKEN on amd64 due to an internal error, but
at least give aarch64, i386, and powerpc* the chance to test drive
after we already had to skip another snapshot.
|
|
|
|
|
| |
files/patch-gfortran-libgcc requires a little adjustment to account
for upstream changes (alas nothing material, syntactic only).
|
|
This is the first snapshot from trunk with the GCC 12 designation. It
largely is a copy of lang/gcc11-devel.
|