Bug 215404 - buildworld's lib32 for -r310236 under devel/amd64-gcc -r428888: world32/usr/src/lib/libc++/libc++.a(iostream.o): warning: relocation in readonly section `.eh_frame'
Summary: buildworld's lib32 for -r310236 under devel/amd64-gcc -r428888: world32/usr/s...
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: CURRENT
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-12-19 07:55 UTC by Mark Millard
Modified: 2016-12-26 08:33 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Millard 2016-12-19 07:55:43 UTC
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
Comment 1 Mark Millard 2016-12-19 20:30:25 UTC
(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
Comment 2 Mark Millard 2016-12-19 20:38:16 UTC
(In reply to Mark Millard from comment #1)

See Bugzilla 215362 for a likely related libdevdctl build failure for powerpc64's context.
Comment 3 Mark Millard 2016-12-26 08:33:59 UTC
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.)