1
0
mirror of https://github.com/openbsd/src.git synced 2026-06-18 23:33:33 +02:00
Commit Graph

333 Commits

Author SHA1 Message Date
gnezdo eedbc2b4fe Plug ubsan_minimal into gnu/lib/libclang_rt build
ok jca@
2022-02-16 03:49:40 +00:00
patrick 9da016ebff Compile out-of-line helpers for atomic operations which can be enabled
through -moutline-atomics.  These are included by default in this updated
version of compiler-rt, we just haven't enabled them yet.  Some ports start
to make use of that option, so it makes sense to provide these helpers.

The helpers would make use of the ARMv8.1 LSE instructions, if we flagged
that the running system supports those.  As we do not yet have a mechanism
to show support for LSE, the code will always fall back to regular atomics.

Issue raised by jca@
Tested by phessler@
Input from jsg@
ok kettenis@
2021-12-28 15:45:17 +00:00
patrick 5a38ef86d0 Update build infrastructure for LLVM 13.0.0. 2021-12-17 14:55:43 +00:00
robert 35d073bd9a backport https://reviews.llvm.org/D107127 to fix shared libraries using emutls
Our emulated TLS implementation relies on local state (e.g. for the pthread
key), and if we duplicate this state across different shared libraries,
accesses to the same TLS variable from different shared libraries will yield
different results (see https://github.com/android/ndk/issues/1551 for an
example). __emutls_get_address is the only external entry point for emulated
TLS, and by making it default visibility and weak, we can rely on the dynamic
linker to coalesce multiple copies at runtime and ensure a single unique copy
of TLS state. This is a best effort;

Also bump the libc++abi minor because now it picks up the __emutls_get_address
symbol.

ok kettenis@
2021-11-12 10:08:35 +00:00
fcambus 841b1ecd64 Link libclang_rt.profile to the build.
"go for it" kettenis@
2021-09-28 08:35:06 +00:00
fcambus 51ea623227 Add build infrastructure for the libclang_rt.profile library.
Not linking it to the build yet.

"go for it" mortimer@
2021-09-15 10:21:30 +00:00
jmc 55e684b42d remove netbsd specific LIBRARY section; ok jca 2021-06-11 19:36:00 +00:00
jca daca582a2c Minor mandoc -Tlint fixes
ok mortimer@
2021-06-10 23:44:28 +00:00
jca 5487b40765 Indentation
ok mortimer@
2021-06-10 23:44:05 +00:00
jca a265a8f98e No RCS IDs in shlib_version files
ok mortimer@
2021-06-10 23:43:45 +00:00
mortimer 66e500ce5d Enable libexecinfo.
With some build plumbing help from jsg@

ok kettenis@ sthen@
2021-06-09 19:44:55 +00:00
mortimer 771fbea014 Add libexecinfo.
Based on NetBSD implementation, without the libelf dependency. Architectures
which have libunwind use libunwind, and others use a stub implementation
that does nothing since __builtin methods are unreliable.

Much feedback and help from jca@.

ok kettenis@ sthen@
2021-06-09 19:37:43 +00:00
drahn 12634b4376 Build libcompiler_rt for riscv64
ok kettenis@
2021-04-28 22:56:22 +00:00
patrick 998fd4492c Update build infrastructure for libc++ and libc++abi version 11.1.0. 2021-04-28 13:06:20 +00:00
patrick f08594bd08 Switch libc++ and libc++abi to version 10.0.1.
Further libc++ header fixes for ports thanks to kettenis@
Ports build test and fixes thanks to naddy@
"Startschuss!" naddy@
2021-01-11 15:27:21 +00:00
patrick 9ddbe89170 Adjust link path for libc++ to find libc++abi to match change of Makefile
and build location.
2021-01-02 20:43:26 +00:00
patrick f950054f2b Move Makefiles for libc++ and libc++abi to gnu/lib in preparation for an
upcoming update to those, which will see both codebases heading into the
gnu/llvm dumpster.

Feedback from jsg@
ok deraadt@ kettenis@
2021-01-02 20:04:36 +00:00
kettenis a6dd968cd1 Don't build double-double functions since long double is the same as double
on OpenBSD.

ok gkoehler@
2020-08-14 14:30:06 +00:00
patrick e951c694b9 Remove fixtfti.c from ppc-if to unbreak macppc build. I guess kettenis@
was right that this isn't really needed.  Now the list is the same as what
we had for the previous compiler-rt version.
2020-08-11 06:38:59 +00:00
jsg 6b8783ca1a fix path for testing if a .S exists 2020-08-11 03:23:47 +00:00
patrick 21f4387919 Un-hook and re-hook libcompiler_rt.
ok kettenis@
2020-08-10 21:09:39 +00:00
patrick 6f4c386a4f Add build infrastructure for compiler-rt.
ok kettenis@
2020-08-10 21:08:26 +00:00
espie 3367dcf595 a few depend:-related thingies that were still in.
okay millert@, tb@
2019-12-21 21:39:59 +00:00
tedu 1cbfedc589 mortimer unlinked libobjc from the build, but didn't know how to cvs rm.
I don't know much about compilers, but what I do have are a very particular
set of skills. Skills I have acquired over a very long career.
2019-04-03 04:52:26 +00:00
schwarze f6f7bd83dc fix serious markup error: \B -> \fB to select bold font 2019-03-20 04:20:36 +00:00
yasuoka ec6ecd8a57 Fix the inter-library dependency for libedit and libreadline.
Previously they tried to depend on libtermcap which actually doesn't
exist in the objdir.

ok jca
2019-01-15 01:54:00 +00:00
sthen b5769cf657 Record an inter-library dependency on libcurses in libedit and libreadline,
avoiding runtime failures on architectures using ld.lld. Also add a note to
libcurses shlib_version reminding about bumps (as done with libcrypto/libssl).

Thanks guenther@ for suggestions of tests involving library bumps and jca@
for doing these tests and hint about DPADD.

Looks good kettenis@, ok jca@
2018-11-14 20:43:48 +00:00
naddy bc4695b6e4 Pass CC/CFLAGS/LDFLAGS to the configure script. ok millert@ 2018-09-14 13:37:52 +00:00
mortimer d1a07a2c7c Unlink libobjc. It is not used in base, and ports are pulling in libobjc2 from ports.
ok bluhm@ sebastia@ dcoppa@
2017-08-10 16:06:59 +00:00
espie c3d06a32ae provide missing prototypes
this may actually result in bogus error messages, because int != char*

okay jca@
2017-07-28 08:26:12 +00:00
espie 146f3f6add fix warnings from missing headers.
okay deraadt@
2017-07-27 18:01:46 +00:00
robert d9daf6a335 install gcc, g++ as gcc and g++ instead of cc, c++ and create links
to the latter on non-clang architectures and make sure we build gcc
with itself because clang won't be able to build it

ok naddy@
2017-07-24 19:22:49 +00:00
espie 2d6abfec02 more depends gc / yacc rules overhaul
okay millert@
2017-07-19 12:50:32 +00:00
espie 2b34b792e5 remove misc. depend and yacc nits that no longer matter.
okay millert@
2017-07-10 21:30:37 +00:00
espie 60eab6798a complete "nodepend" in source
- mix-up between .ALLSRC and .IMPSRC, compile the right gc.c file
- add explicit targets for pre-generated stuff
2017-07-04 12:43:07 +00:00
bluhm 0fb20bf6d6 Make libiberty test programs compile and run without segfault. 2017-06-23 20:57:51 +00:00
espie 2eaa2fe8e4 mark files as BUILDFIRST, or write explicit dependencies, so that most
programs will build even without a make depend first.
okay tb@ millert@
2017-06-16 10:25:54 +00:00
espie 752051c1bd destroy lint remnants.
okay millert@ deraadt@
2017-06-12 18:49:33 +00:00
kettenis d8ee3b1570 Change build infrastructure to allow building both gcc and clang. This
doesn't actually flip the switch yet, so aarch64 continues to be the only
architecture for which we build clang.

ok jsg@, deraadt@
2017-04-17 15:53:21 +00:00
miod f17ed7d88e gcc4 on m88k still uses sjlj exceptions, as did arm before EABI. 2017-02-15 21:22:53 +00:00
jsg 3fce405227 Only build gcc4 libs if COMPILER_VERSION is gcc4.
ok kettenis@ patrick@
2017-01-21 12:40:49 +00:00
krw 9704b281e6 Nuke whitespace foolish enough to expose itself during the great
"warning:" rectification.
2017-01-21 08:25:30 +00:00
krw af1e7b8c67 Take gcc's suggestions about parenthesis around assignments used
as truth values. Change a parameter to 'const'. All without making
promises about any further cleanup in /gnu/.

ok deraadt@
2017-01-20 11:10:52 +00:00
krw a7d4f26aff A couple more unused variables.
tweak & ok kettenis@
2016-12-19 18:30:50 +00:00
natano a6f733a9f6 Fix ownership for install on a noperm filesystem.
joint work with tb
2016-10-03 21:24:40 +00:00
kettenis 4970777b9b Re-enable libobjc on arm. 2016-09-01 15:53:21 +00:00
patrick 9b7c3dbb58 Switch OpenBSD/armv7 to ARM EABI (soft-float). This is a complete ABI
break which cannot be easily crossed.

ok kettenis@ jsg@
2016-09-01 11:03:09 +00:00
guenther d46f7e051d DEBUGLIBS has been broken since the gcc4 switch, so delete it. CFLAGS
contains -g by default anyway

problem noted by Edgar Pettijohn (edgar (at) pettijohn-web.com)
ok millert@ kettenis@ deraadt@
2016-07-04 18:01:44 +00:00
deraadt 8f58a34ae7 Cleanup duplicate filenames in SRCS 2016-03-28 00:04:26 +00:00
jsg fe999ef50c Disable the stack protector when building libstdc++ on arm. Fixes test
cases from dcoppa@ where incorrect behaviour was trigged when using
std::ifstream and linking libpthread.  Further investigation and patch
from miod.  ok deraadt@
2016-02-18 14:24:20 +00:00