summaryrefslogtreecommitdiffstats
path: root/gnu/gcc
diff options
context:
space:
mode:
authormatthew <matthew@openbsd.org>2012-08-15 18:08:22 +0000
committermatthew <matthew@openbsd.org>2012-08-15 18:08:22 +0000
commit6b29d47733811d30d045bb770f5a57f121cb0ffe (patch)
tree2c6bc1839092b7023d6d83c7d317109616d1f476 /gnu/gcc
parent- remove some redundancy within the sendmail text (diff)
downloadwireguard-openbsd-6b29d47733811d30d045bb770f5a57f121cb0ffe.tar.xz
wireguard-openbsd-6b29d47733811d30d045bb770f5a57f121cb0ffe.zip
A couple small but long anticipated changes:
- Link libpthread.so with -znodlopen. Because libpthread overrides the weak symbols in libc, we can't allow it to be dynamically loaded or else libc's weak symbols might have already been resolved by ld.so. (Also, major bump because this is technically a backwards incompat change in behavior, although dlopen()ing libpthread never really worked.) - Link libc.so with -nodefaultlibs -lgcc. This ensures that libc doesn't try to link against itself (which ld.so wouldn't like). - Change GCC 4 to link shared objects with -lpthread and -lc as appropriate, now that there's no issues with doing so. This means that it's no longer necessary to patch software to use -pthread instead of -lpthread. (Ports tree rejoice!) Also, to preemptively answer this question: No, this does not eliminate the need for LD_PRELOAD=libpthread.so. That's a separate issue that won't be resolved until we eliminate libc's weak symbols. Discussed extensively on email and icb over the past few months. ok deraadt
Diffstat (limited to 'gnu/gcc')
-rw-r--r--gnu/gcc/gcc/config/openbsd-libpthread.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/gnu/gcc/gcc/config/openbsd-libpthread.h b/gnu/gcc/gcc/config/openbsd-libpthread.h
index 41292631389..28b731c6891 100644
--- a/gnu/gcc/gcc/config/openbsd-libpthread.h
+++ b/gnu/gcc/gcc/config/openbsd-libpthread.h
@@ -19,5 +19,5 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#define OBSD_LIB_SPEC "%{!shared:%{pthread:-lpthread%{p:_p}%{!p:%{pg:_p}}}} %{!shared:-lc%{p:_p}%{!p:%{pg:_p}}}"
+#define OBSD_LIB_SPEC "%{pthread:-lpthread%{!shared:%{p|pg:_p}}} -lc%{!shared:%{p|pg:_p}}"