From nobody Fri May 23 23:48:27 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b420r6QcDz5wmc1; Fri, 23 May 2025 23:48:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b420r31d5z41Gm; Fri, 23 May 2025 23:48:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748044108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mTcR2+Br+VcJ5xiDQm48NL+MJ8mQEe0YBrOkbWYLkY8=; b=ohoufHO1F2hMEYvbPUflOvMawLJCC67Z97SdV51jgEDe3zzOGI53+sfUEk7NGA43Gp9AQw EBcgAVvTMI38jPtRtYKIjK8uvaSdfZcaNsl0+rHwVfdkcdwQwtazA3zYL4D15k2QRQ3SoR Vfg+hXEVMkTKmU0nXKE8x/tl6vHY+VFAGFCwJx1SVdozjhdXrwSaYHZpLIEjamyCKC0Dep DE54n48P8F8O8GUVbir2qtQdYC37dVP6o0vWtaAJMbGmzD6Kq/fCK0MAocvM20Afpnzmhq Tsl+nZiBlhsH4519b+ElmmsU1g6LoWRZDt6ONGKC4odtbsjCdRa4OND10biNDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748044108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mTcR2+Br+VcJ5xiDQm48NL+MJ8mQEe0YBrOkbWYLkY8=; b=e/FhtGZGIqlyIFWbB6q7G8gGG1ZncnnK6q3+lTa5hmODsrU4NK3nruttgrePeRhZ7uSZ8R hTaW2qLkqb9pKqawrWLpFVqjmwvi25Nvwg/GyJnfKmIKAgObuHZHblQS4oreWgcBk+AANC TTT1McpxncrrwvTQ2gZXtWZ0T/3kvxrBoYLtjl2ulPGn14PNunnlLZsCwbfk60IvkxdNoH R3QvSSwx5ysGnjbaE/YY88l1oazJAroj+9mteIoMqSkCQN7Vi5j9tfMZGbxkZKdefPFMg5 CE7nfyyOMvIWnI5GCfXJwDsbZDUn9EXks7To6XWXbzgvM5RrK2ievEwxXNx0AA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748044108; a=rsa-sha256; cv=none; b=LfS45ik2S8zl6jTm5VnXO/deCW02UqwhOfawF22IDdmykda5iHlmUGJQgrxskMdeoIz4e5 1VH0i4w9n/SQbSHkT6F3fGHZL+SDN2ljXiubeJmQ4f0ERLj8Yle/nQ5f6pDEq75xpn9SRa h0oN2nNAkI0SliIS77AmDJdhlWc7/p/Rfqj9fmcWvaOmhNDwmMFt/C0VegqH667Ycs+AEA /j1v7VFLLtqcLSru3Sg5BM5Ziyck2Si+qNXsp5+B5reoX90plIpsVQz60Tx1OCTXa5MCb+ SVBvO/HFZWtA/dZDGnvyxn/feyKUs2XeVOLjJWV6z2HzY7R87K5+ZbBtjHVlJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b420q73N0z1QXT; Fri, 23 May 2025 23:48:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54NNmRtA046781; Fri, 23 May 2025 23:48:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54NNmRG3046778; Fri, 23 May 2025 23:48:27 GMT (envelope-from git) Date: Fri, 23 May 2025 23:48:27 GMT Message-Id: <202505232348.54NNmRG3046778@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 387783da979e - main - rtld: get syscall implementations from libsys List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 387783da979eb5862f8453e15505c240cbfe28ce Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=387783da979eb5862f8453e15505c240cbfe28ce commit 387783da979eb5862f8453e15505c240cbfe28ce Author: Brooks Davis AuthorDate: 2025-05-23 23:33:51 +0000 Commit: Brooks Davis CommitDate: 2025-05-23 23:37:17 +0000 rtld: get syscall implementations from libsys When I added libsys I failed to update rtld's reuse of object files from libc to use ones from libsys instead. This would have turned up as a broken system in d7847a8d35143, but SHARED_CFLAGS is not being applied to assembly files. PR: 286975 Reviewed by: jrtc27, jhb Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D50475 --- libexec/rtld-elf/rtld-libc/Makefile.inc | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/libexec/rtld-elf/rtld-libc/Makefile.inc b/libexec/rtld-elf/rtld-libc/Makefile.inc index 79d68a1e803c..b16f84f398d0 100644 --- a/libexec/rtld-elf/rtld-libc/Makefile.inc +++ b/libexec/rtld-elf/rtld-libc/Makefile.inc @@ -52,22 +52,23 @@ CFLAGS.strspn.c+=-Wno-sign-compare 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 abs _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