Am 12.02.21 14:29 schrieb Carsten Grzemba via oi-dev <[email protected]>: > > Because my FF builds alwas core on startup, I try to build objects with debug > information. But the linking of libxul.so fails with: > > Text relocation remains against symbol .. > > The releated option -shared and -fPIC are in place. There are a hint to use > option -mimpure-text. I will it try but what does it mean? > There are any other hints? It is a little bit anoying, because the linking > takes nearly 3hours on my build VM. > > /usr/gcc/9/bin/g++ -std=gnu++17 -fstack-protector-strong -Wall -Wempty-body > -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare > -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof > -Wduplicated-cond -Wimplicit-fallthrough -Wunused-function -Wunused-variable > -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations > -Wno-error=array-bounds -Wno-error=coverage-mismatch > -Wno-error=free-nonheap-object -Wno-multistatement-macros > -Wno-error=class-memaccess -Wno-error=deprecated-copy -Wformat > -Wformat-overflow=2 -fno-sized-deallocation -fno-aligned-new -O0 -fPIC -m64 > -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wno-invalid-offsetof -fpermissive > -fno-exceptions -fno-strict-aliasing -DSOLARIS -fno-rtti -ffunction-sections > -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g > -fno-omit-frame-pointer -funwind-tables -fPIC -shared -Wl,-h,libxul.so -o > libxul.so > @/code/github/openindiana/oi-userland/components/web/firefox-78esr/build/amd64/toolkit/library/build/libxul_so.list > -lpthread -m64 -Wl,-z,text -fstack-protector-strong > -L/code/github/openindiana/oi-userland/components/web/firefox-78esr/build/amd64/dist/bin > '-Wl,-R,$ORIGIN' ../../../js/src/build/libjs_static.a > /code/github/openindiana/oi-userland/components/web/firefox-78esr/build/amd64/x86_64-sun-solaris/debug/libgkrust.a > ../../../config/external/lgpllibs/liblgpllibs.so > ../../../config/external/sqlite/libmozsqlite3.so > ../../../widget/gtk/mozgtk/stub/libmozgtk_stub.so -lsocket -licui18n -licuuc > -licudata -lpthread -lffi -L/usr/lib/mps/amd64 -lplds4 -lplc4 -lnspr4 -ldl > -lposix4 -R/usr/lib/mps/amd64 -lz -lm -lnsl -lsocket -lnss3 -lsmime3 -lssl3 > -lnssutil3 -lfreetype -lfontconfig -lXrender -levent-2.0 -lpixman-1 > -ldbus-glib-1 -ldbus-1 -lgobject-2.0 -lglib-2.0 -lpangocairo-1.0 -lpango-1.0 > -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 > -lX11-xcb -lxcb-shm -lxcb -lX11 -lXext -lpangoft2-1.0 -lXt -lgthread-2.0 > ld: warning: symbol '_cairo_pattern_black' has differing sizes: > (file ../../../gfx/cairo/cairo/src/Unified_c_gfx_cairo_cairo_src2.o > value=0x98; file /usr/lib/amd64/libcairo.so value=0xa0); > ../../../gfx/cairo/cairo/src/Unified_c_gfx_cairo_cairo_src2.o definition > taken > ld: warning: symbol '_cairo_pattern_clear' has differing sizes: > (file ../../../gfx/cairo/cairo/src/Unified_c_gfx_cairo_cairo_src2.o > value=0x98; file /usr/lib/amd64/libcairo.so value=0xa0); > ../../../gfx/cairo/cairo/src/Unified_c_gfx_cairo_cairo_src2.o definition > taken > ld: warning: symbol '_cairo_user_font_face_backend' has differing sizes: > (file ../../../gfx/cairo/cairo/src/Unified_c_gfx_cairo_cairo_src3.o > value=0x38; file /usr/lib/amd64/libcairo.so value=0x28); > ../../../gfx/cairo/cairo/src/Unified_c_gfx_cairo_cairo_src3.o definition > taken > ld: warning: symbol '_cairo_pattern_white' has differing sizes: > (file ../../../gfx/cairo/cairo/src/Unified_c_gfx_cairo_cairo_src2.o > value=0x98; file /usr/lib/amd64/libcairo.so value=0xa0); > ../../../gfx/cairo/cairo/src/Unified_c_gfx_cairo_cairo_src2.o definition > taken > ld: warning: symbol '_cairo_image_surface_backend' has differing sizes: > (file ../../../gfx/cairo/cairo/src/Unified_c_gfx_cairo_cairo_src1.o > value=0x110; file /usr/lib/amd64/libcairo.so value=0xd8); > ../../../gfx/cairo/cairo/src/Unified_c_gfx_cairo_cairo_src1.o definition > taken > ld: warning: symbol '_cairo_font_face_nil' has differing sizes: > (file ../../../gfx/cairo/cairo/src/Unified_c_gfx_cairo_cairo_src1.o > value=0x38; file /usr/lib/amd64/libcairo.so value=0x30); > ../../../gfx/cairo/cairo/src/Unified_c_gfx_cairo_cairo_src1.o definition > taken > ld: warning: symbol '_cairo_ft_font_face_backend' has differing sizes: > (file ../../../gfx/cairo/cairo/src/cairo-ft-font.o value=0x38; file > /usr/lib/amd64/libcairo.so value=0x28); > ../../../gfx/cairo/cairo/src/cairo-ft-font.o definition taken > Text relocation remains referenced > against symbol offset in file > mozilla::ThreadSafeAutoRefCnt::ThreadSafeAutoRefCnt() 0x36 > ../../../security/certverifier/Unified_cpp_certverifier0.o > mozilla::ThreadSafeAutoRefCnt::ThreadSafeAutoRefCnt() 0x25 > ../../../security/apps/Unified_cpp_security_apps0.o > > ..8<.. cut, 2500 such lines follow > > Releated the optimized linkage there is not really a difference in the options beside the '-g'. Could it be that the objects like ../../../security/certverifier/Unified_cpp_certverifier0.o causing the trouble. And if so can I check this with readelf, elfdump, objdump or something else ?
_______________________________________________ oi-dev mailing list [email protected] https://openindiana.org/mailman/listinfo/oi-dev
