Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F142538532
D50475.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D50475.diff
View Options
diff --git a/libexec/rtld-elf/rtld-libc/Makefile.inc b/libexec/rtld-elf/rtld-libc/Makefile.inc
--- a/libexec/rtld-elf/rtld-libc/Makefile.inc
+++ b/libexec/rtld-elf/rtld-libc/Makefile.inc
@@ -52,22 +52,23 @@
CFLAGS.strstr.c+=-Wno-cast-qual -Wno-sign-compare
CFLAGS.strtok.c+=-Wno-cast-qual
-# Also use all the syscall .o files from libc_nossp_pic:
-_libc_other_objects= sigsetjmp lstat stat fstat fstatat fstatfs syscall \
+# Also use all the syscall .o files from libsys_pic (libsys is always NO_SSP):
+_libsys_other_objects= fstat fstatat fstatfs syscall \
cerror geteuid getegid sigfastblock munmap mprotect \
sysarch __sysctl issetugid __getcwd utrace getpid \
thr_self thr_kill pread mmap lseek _exit \
getdirentries _close _fcntl _open _openat _read \
- _sigprocmask _write readlink ___realpathat _setjmp setjmp setjmperr
+ _sigprocmask _write readlink ___realpathat
+# A few other bits from libc_nossp_pic:
+_libc_other_objects= sigsetjmp lstat stat _setjmp setjmp setjmperr
-
-# Finally add additional architecture-dependent libc dependencies
+# Finally add additional architecture-dependent libc and libsys dependencies
.if ${LIBC_ARCH} == "arm"
# ARM needs aeabi_unwind_cpp for _setjmp
_libc_other_objects+=aeabi_unwind_cpp
.elif ${LIBC_ARCH} == "i386"
# i386 needs i386_set_gsbase for allocate_initial_tls()
-_libc_other_objects+=i386_set_gsbase
+_libsys_other_objects+=i386_set_gsbase
.elif ${LIBC_ARCH} == "powerpc" || ${LIBC_ARCH} == "powerpcspe"
# ppc needs __syncicache and abs for reloc.c
_libc_other_objects+=syncicache abs
@@ -76,23 +77,30 @@
_libc_other_objects+=syncicache
.endif
-# Extract all the .o files from libc_nossp_pic.a. This ensures that
-# we don't accidentally pull in the interposing table or similar by linking
-# directly against libc_nossp_pic.a
+# Extract all the .o files from libc_nossp_pic.a and libsys_pic.a. This
+# ensures that we don't accidentally pull in the interposing table or
+# similar by linking directly against libc_nossp_pic.a
_rtld_libc_objs=
.for _obj in ${_libc_other_objects}
_rtld_libc_objs+=${_obj}.nossppico
CLEANFILES+=${_obj}.nossppico
# LDFLAGS+= -Wl,--trace-symbol=${_obj}
.endfor
+_rtld_libsys_objs=
+.for _obj in ${_libsys_other_objects}
+_rtld_libsys_objs+=${_obj}.pico
+CLEANFILES+=${_obj}.pico
+# LDFLAGS+= -Wl,--trace-symbol=${_obj}
+.endfor
# LDFLAGS+= -Wl,--trace
# We insert all the .o files from libc_nossp_pic.a into a new rtld_libc.a file
# to ensure that only .o files that are actually used end up being included.
-rtld_libc.a: ${LIBC_NOSSP_PIC} ${SRCTOP}/libexec/rtld-elf/rtld-libc/Makefile.inc
+rtld_libc.a: ${LIBC_NOSSP_PIC} ${LIBSYS_PIC} ${SRCTOP}/libexec/rtld-elf/rtld-libc/Makefile.inc
@rm -f ${.TARGET}
${AR} x ${LIBC_NOSSP_PIC} ${_rtld_libc_objs}
- ${AR} cr ${.TARGET} ${_rtld_libc_objs}
+ ${AR} x ${LIBSYS_PIC} ${_rtld_libsys_objs}
+ ${AR} cr ${.TARGET} ${_rtld_libc_objs} ${_rtld_libsys_objs}
CLEANFILES+=rtld_libc.a
LDADD+=${.OBJDIR}/rtld_libc.a
beforelinking: rtld_libc.a
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Jan 21, 6:32 PM (8 h, 29 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27816707
Default Alt Text
D50475.diff (2 KB)
Attached To
Mode
D50475: rtld: get syscall implementations from libsys
Attached
Detach File
Event Timeline
Log In to Comment