[Bug 266900] WITHOUT_MACHDEP_OPTIMIZATION build option fails on error: undefined symbol: __stpcpy
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 266900] WITHOUT_MACHDEP_OPTIMIZATION build option fails on error: undefined symbol: __stpcpy"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 266900] WITHOUT_MACHDEP_OPTIMIZATION build option fails on error: undefined symbol: __stpcpy"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 08 Oct 2022 07:39:21 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266900
Bug ID: 266900
Summary: WITHOUT_MACHDEP_OPTIMIZATION build option fails on
error: undefined symbol: __stpcpy
Product: Base System
Version: CURRENT
Hardware: Any
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: bin
Assignee: bugs@FreeBSD.org
Reporter: editor@callfortesting.org
Created attachment 237151
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=237151&action=edit
src.conf that will reproduce the issue
Context: FreeBSD buildworld will succeed with all WITHOUT_* build options
enable, minus WITHOUT_AUTO_OBJ WITHOUT_UNIFIED_OBJDIR WITHOUT_INSTALLLIB. This
provides a far more efficient exercise of the the available build options than
the /usr/src/tools/tools/build_option_survey
This commit and review causes the WITHOUT_MACHDEP_OPTIMIZATION build option to
fail on "error: undefined symbol: __stpcpy":
https://reviews.freebsd.org/D36463
https://cgit.freebsd.org/src/commit/?id=c65e42dbde4198ce46aef7ddac061390abe672dc
Xin LI is aware of this issue and has kindly offered this clarification and
requested this ticket:
"The build broke because some MD files were used, and some were not. For
strcpy()'s case, on amd64, it's a wrapper around the MD stpcpy() and naturally
it calls __stpcpy() which itself gets (correctly) excluded.
The MD C source was used because this line which is common for Makefile.inc's
in the subdirectories in libc:
.PATH: ${LIBC_SRCTOP}/${LIBC_ARCH}/string ${LIBC_SRCTOP}/string
which basically means, if you have foo.c in the MD directory, it's used in
favor of the MI version.
So these need to be fixed for ${MK_MACHDEP_OPTIMIZATIONS} == no case too.
I think this could have been avoided if the initial testing was done with two
clean buildworld builds with and without the new option; for build
infrastructure changes like this, I'd recommend doing full universe runs
locally or on universe14{a,b} at cluster in the future before pushing."
Thank you Xin for looking into this!
Attachments: a src.conf that reproduces the issue on main and stable/13
--
You are receiving this mail because:
You are the assignee for the bug.