My attempt to buildworld with devel/amd64-binutils built with with RELRO enabled resulted in the build stopping for: (It will be a while before without RELRO is tested.) --- all_subdir_lib/libdevdctl --- /usr/local/bin/x86_64-freebsd-ld: /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/world32/usr/src/lib/libc++/libc++.a(iostream.o): warning: relocation in readonly section `.eh_frame' /usr/local/bin/x86_64-freebsd-ld: warning: creating a DT_TEXTREL in a shared object. collect2: error: ld returned 1 exit status . . . --- all_subdir_lib/libdevdctl --- *** [libprivatedevdctl.so.0.full] Error code 1 # Meta data file /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/world32/usr/src/lib/libdevdctl/libprivatedevdctl.so.0.full.meta CMD @echo building shared library libprivatedevdctl.so.0 CMD @rm -f libprivatedevdctl.so.0 libprivatedevdctl.so CMD /usr/local/bin/x86_64-unknown-freebsd12.0-g++ -isystem /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/lib32/usr/include/c++/v1 -std=c++11 -nostdinc++ -L/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/world32/usr/src/lib/libc++ -m32 -DCOMPAT_32BIT -march=i686 -mmmx -msse -msse2 -L/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/lib32/usr/lib32 --sysroot=/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/lib32 -B/usr/local/x86_64-freebsd/bin/ -B/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/lib32/usr/lib32 -isystem /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/lib32/usr/include -fstack-protector-strong -shared -Wl,-x -Wl,--fatal-warnings -Wl,--warn-shared-textrel -o libprivatedevdctl.so.0.full -Wl,-soname,libprivatedevdctl.so.0 `NM='nm' NMFLAGS='' lorder consumer.pico event.pico event_factory.pico exception.pico guid.pico | tsort -q` CWD /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/world32/usr/src/lib/libdevdctl TARGET libprivatedevdctl.so.0.full -- command output -- building shared library libprivatedevdctl.so.0 /usr/local/bin/x86_64-freebsd-ld: /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/world32/usr/src/lib/libc++/libc++.a(iostream.o): warning: relocation in readonly section `.eh_frame' /usr/local/bin/x86_64-freebsd-ld: warning: creating a DT_TEXTREL in a shared object. # head -20 /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/world32/usr/src/lib/libdevdctl/libprivatedevdctl.so.0.full.meta # Meta data file /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/world32/usr/src/lib/libdevdctl/libprivatedevdctl.so.0.full.meta CMD @echo building shared library libprivatedevdctl.so.0 CMD @rm -f libprivatedevdctl.so.0 libprivatedevdctl.so CMD /usr/local/bin/x86_64-unknown-freebsd12.0-g++ -isystem /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/lib32/usr/include/c++/v1 -std=c++11 -nostdinc++ -L/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/world32/usr/src/lib/libc++ -m32 -DCOMPAT_32BIT -march=i686 -mmmx -msse -msse2 -L/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/lib32/usr/lib32 --sysroot=/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/lib32 -B/usr/local/x86_64-freebsd/bin/ -B/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/lib32/usr/lib32 -isystem /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/lib32/usr/include -fstack-protector-strong -shared -Wl,-x -Wl,--fatal-warnings -Wl,--warn-shared-textrel -o libprivatedevdctl.so.0.full -Wl,-soname,libprivatedevdctl.so.0 `NM='nm' NMFLAGS='' lorder consumer.pico event.pico event_factory.pico exception.pico guid.pico | tsort -q` CWD /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/world32/usr/src/lib/libdevdctl TARGET libprivatedevdctl.so.0.full -- command output -- building shared library libprivatedevdctl.so.0 /usr/local/bin/x86_64-freebsd-ld: /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/world32/usr/src/lib/libc++/libc++.a(iostream.o): warning: relocation in readonly section `.eh_frame' /usr/local/bin/x86_64-freebsd-ld: warning: creating a DT_TEXTREL in a shared object. collect2: error: ld returned 1 exit status *** Error code 1
(In reply to Mark Millard from comment #0) Rebuilding devel/amd64-binutils without RELRO and then cleanworld then buildworld did not change the failing result. It is still: --- all_subdir_lib/libdevdctl --- /usr/local/bin/x86_64-freebsd-ld: /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/world32/usr/src/lib/libc++/libc++.a(iostream.o): warning: relocation in readonly section `.eh_frame' /usr/local/bin/x86_64-freebsd-ld: warning: creating a DT_TEXTREL in a shared object. collect2: error: ld returned 1 exit status *** [libprivatedevdctl.so.0.full] Error code 1
(In reply to Mark Millard from comment #1) See Bugzilla 215362 for a likely related libdevdctl build failure for powerpc64's context.
As of head -r310556 (to pick up -r310543's fix) buildworld now completes, including lib32. (I've not tested powerpc64 yet: The above is only reporting for amd64.)