lib/libgcc_s fails on make all after make world succeeds

From: Julian H. Stacey <jhs_at_berklix.com>
Date: Sun, 19 May 2019 23:29:40 +0200
Hi current_at_freebsd.org
On current src/ on 2 boxes, I have seen the same break for a week or 2,
lib/libgcc_s fails on make all after make world succeeds,
Anyone else seen it or got ideas please ? Notes below the sample.

===> lib/libgcc_s (all)
building shared library libgcc_s.so.1
cc  -nodefaultlibs -Wl,--version-script=/usr/src/lib/libgcc_s/Version.map
 -shared -Wl,-x -Wl,--fatal-warnings -Wl,--warn-shared-textrel  -o \
 libgcc_s.so.1.full -Wl,-soname,libgcc_s.so.1  `NM='nm' NMFLAGS='' \
 lorder absvdi2.pico absvsi2.pico absvti2.pico addvdi3.pico addvsi3.pico \
 addvti3.pico apple_versioning.pico ashldi3.pico ashlti3.pico \
 ashrdi3.pico ashrti3.pico clear_cache.pico clzdi2.pico clzsi2.pico \
 clzti2.pico cmpdi2.pico cmpti2.pico ctzdi2.pico ctzsi2.pico ctzti2.pico \
 divdc3.pico divdi3.pico divmoddi4.pico divmodsi4.pico divsc3.pico \
 divsi3.pico divtc3.pico divti3.pico divxc3.pico enable_execute_stack.pico \
 eprintf.pico extendhfsf2.pico ffsdi2.pico ffssi2.pico ffsti2.pico \
 fixdfdi.pico fixdfti.pico fixsfdi.pico fixsfti.pico fixunsdfdi.pico \
 fixunsdfsi.pico fixunsdfti.pico fixunssfdi.pico fixunssfsi.pico \
 fixunssfti.pico fixunsxfdi.pico fixunsxfsi.pico fixunsxfti.pico \
 fixxfdi.pico fixxfti.pico floatditf.pico floatsitf.pico floattidf.pico \
 floattisf.pico floattixf.pico floatunditf.pico floatunsidf.pico \
 floatunsisf.pico floatuntidf.pico floatuntisf.pico floatuntixf.pico \
 gcc_personality_v0.pico int_util.pico lshrdi3.pico lshrti3.pico \
 moddi3.pico modsi3.pico modti3.pico muldc3.pico muldi3.pico \
 mulodi4.pico mulosi4.pico muloti4.pico mulsc3.pico multi3.pico \
 mulvdi3.pico mulvsi3.pico mulvti3.pico multc3.pico mulxc3.pico \
 negdf2.pico negdi2.pico negsf2.pico negti2.pico negvdi2.pico \
 negvsi2.pico negvti2.pico paritydi2.pico paritysi2.pico parityti2.pico \
 popcountdi2.pico popcountsi2.pico popcountti2.pico powidf2.pico \
 powisf2.pico powitf2.pico powixf2.pico subvdi3.pico subvsi3.pico \
 subvti3.pico trampoline_setup.pico truncdfhf2.pico truncsfhf2.pico \
 ucmpdi2.pico ucmpti2.pico udivdi3.pico udivmoddi4.pico udivmodsi4.pico \
 udivmodti4.pico udivsi3.pico udivti3.pico umoddi3.pico umodsi3.pico \
 umodti3.pico floatdidf.pico floatdisf.pico floatdixf.pico \
 floatundidf.pico floatundisf.pico floatundixf.pico cpu_model.pico \
 adddf3.pico addsf3.pico divdf3.pico divsf3.pico extendsfdf2.pico \
 fixdfsi.pico fixsfsi.pico floatsidf.pico floatsisf.pico muldf3.pico \
 mulsf3.pico subdf3.pico subsf3.pico truncdfsf2.pico comparedf2.pico \
 comparesf2.pico gcc_personality_v0.pico int_util.pico Unwind-EHABI.pico \
 Unwind-sjlj.pico UnwindLevel1-gcc-ext.pico UnwindLevel1.pico \
 UnwindRegistersRestore.pico UnwindRegistersSave.pico libunwind.pico \
 s_fabs.pico s_fabsf.pico s_fabsl.pico s_fmax.pico s_fmaxf.pico \
 s_logb.pico s_logbf.pico s_scalbn.pico s_scalbnf.pico s_fmaxl.pico \
 s_logbl.pico s_scalbnl.pico |  tsort -q` \
 -L/usr/obj/usr/src/amd64.amd64/lib/libc -lc \
ld: error: can't create dynamic relocation R_X86_64_32S \
 against symbol: __je_sz_size2index_tab in readonly segment; \
 recompile object files with -fPIC or pass '-Wl,-z,notext' \
 to allow text relocations in the output
>>> defined in /usr/obj/usr/src/amd64.amd64/lib/libc/libc.a(jemalloc_sz.o)
>>> referenced by sz.h:0 \
 (/usr/src/contrib/jemalloc/include/jemalloc/internal/sz.h:0)
>>>               jemalloc_jemalloc.o:(a0ialloc) in archive \
 /usr/obj/usr/src/amd64.amd64/lib/libc/libc.a

ld: error: can't create dynamic relocation R_X86_64_32 against local symbol \
 in readonly segment; recompile object files with -fPIC or pass \
 '-Wl,-z,notext' to allow text relocations in the output
>>> defined in /usr/obj/usr/src/amd64.amd64/lib/libc/libc.a(jemalloc_jemalloc.o)
>>> referenced by mutex.h:144 \
 (/usr/src/contrib/jemalloc/include/jemalloc/internal/mutex.h:144)
>>>               jemalloc_jemalloc.o:(a0ialloc) in archive \
 /usr/obj/usr/src/amd64.amd64/lib/libc/libc.a

---------

First i thought it was my custom src/ but generic src/ breaks too.
Then I did:
	/etc/src.conf	Removed
	/etc/make.conf	Removed
	env vars	Stripped to just
		PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/bin
		TERM=xterm
		TERMPATH=/etc/termcap:/usr/share/misc/termcap
A new make buildworld is running on virgin generic src/ inside a script with
	cat .svn_revision 347964
	cat .ctm_status src-cur 14046
That will take a while before I can report.

Meantime I also have a 2nd box I can experiment on if people have ideas ?
	cat .svn_revision 347422
	cat .ctm_status src-cur 14033

Cheers,
Julian
-- 
Julian Stacey, Consultant Systems Engineer, BSD Linux Unix, Munich Aachen Kent
 http://stolenvotes.uk  Brexit ref. stole votes from 700,000 Brits in EU.
 Lies bought; Groups fined; 1.9 M young had no vote, 1.3 M old leavers died.
Received on Sun May 19 2019 - 19:30:10 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:20 UTC