Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 03 Dec 2018 05:00:37 +0000
From:      bugzilla-noreply@freebsd.org
To:        x11@FreeBSD.org
Subject:   [Bug 233740] x11/pixman: LLD relocation errors on ARM
Message-ID:  <bug-233740-7141@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D233740

            Bug ID: 233740
           Summary: x11/pixman: LLD relocation errors on ARM
           Product: Ports & Packages
           Version: Latest
          Hardware: arm
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: x11@FreeBSD.org
          Reporter: ml+freebsd@vishwin.info
          Assignee: x11@FreeBSD.org
             Flags: maintainer-feedback?(x11@FreeBSD.org)

Created attachment 199774
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D199774&action=
=3Dedit
current workaround

Splitting from bug 233737.

On ARM (but not aarch64) with LLD_IS_LD, the SIMD and NEON bits fail to lin=
k:

--- libpixman-1.la ---
/bin/sh ../libtool  --tag=3DCC    --mode=3Dlink cc   -O2 -pipe=20
-fno-strict-aliasing  -Wall -Wdeclaration-after-statement
-Wno-unused-local-typedefs -fno-strict-aliasing -fvisibility=3Dhidden
-version-info 34:0:34  -no-undefined   -pthread       -o  libpixman-1.la -r=
path
/usr/local/lib pixman.lo pixman-access.lo pixman-access-accessors.lo=20
pixman-bits-image.lo pixman-combine32.lo  pixman-combine-float.lo
pixman-conical-gradient.lo  pixman-filter.lo pixman-x86.lo pixman-mips.lo
pixman-arm.lo  pixman-ppc.lo pixman-edge.lo pixman-edge-accessors.lo=20
pixman-fast-path.lo pixman-glyph.lo pixman-general.lo=20
pixman-gradient-walker.lo pixman-image.lo  pixman-implementation.lo
pixman-linear-gradient.lo  pixman-matrix.lo pixman-noop.lo
pixman-radial-gradient.lo  pixman-region16.lo pixman-region32.lo
pixman-solid-fill.lo  pixman-timer.lo pixman-trap.lo pixman-utils.lo  -lm  =
 -lm
      libpixman-arm-simd.la libpixman-arm-neon.la     -lm
libtool: link: cc -shared  -fPIC -DPIC  .libs/pixman.o .libs/pixman-access.o
.libs/pixman-access-accessors.o .libs/pixman-bits-image.o
.libs/pixman-combine32.o .libs/pixman-combine-float.o
.libs/pixman-conical-gradient.o .libs/pixman-filter.o .libs/pixman-x86.o
.libs/pixman-mips.o .libs/pixman-arm.o .libs/pixman-ppc.o .libs/pixman-edge=
.o
.libs/pixman-edge-accessors.o .libs/pixman-fast-path.o .libs/pixman-glyph.o
.libs/pixman-general.o .libs/pixman-gradient-walker.o .libs/pixman-image.o
.libs/pixman-implementation.o .libs/pixman-linear-gradient.o
.libs/pixman-matrix.o .libs/pixman-noop.o .libs/pixman-radial-gradient.o
.libs/pixman-region16.o .libs/pixman-region32.o .libs/pixman-solid-fill.o
.libs/pixman-timer.o .libs/pixman-trap.o .libs/pixman-utils.o=20
-Wl,--whole-archive ./.libs/libpixman-arm-simd.a ./.libs/libpixman-arm-neon=
.a
-Wl,--no-whole-archive  -lm  -O2 -pthread   -pthread -Wl,-soname
-Wl,libpixman-1.so.0 -o .libs/libpixman-1.so.0.34.0
/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-simd.a(pixman-arm-simd-asm-scaled.o)
>>> referenced by pixman-arm-simd-asm-scaled.o:(.text+0x1B8) in archive ./.=
libs/libpixman-arm-simd.a

/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-simd.a(pixman-arm-simd-asm-scaled.o)
>>> referenced by pixman-arm-simd-asm-scaled.o:(.text+0x374) in archive ./.=
libs/libpixman-arm-simd.a

/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o)
>>> referenced by pixman-arm-neon-asm.o:(.text+0x17AC) in archive ./.libs/l=
ibpixman-arm-neon.a
/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o)
>>> referenced by pixman-arm-neon-asm.o:(.text+0x1814) in archive ./.libs/l=
ibpixman-arm-neon.a
/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o)
>>> referenced by pixman-arm-neon-asm.o:(.text+0x1A38) in archive ./.libs/l=
ibpixman-arm-neon.a

/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o)
>>> referenced by pixman-arm-neon-asm.o:(.text+0x1AFC) in archive ./.libs/l=
ibpixman-arm-neon.a

/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o)
>>> referenced by pixman-arm-neon-asm.o:(.text+0x21C8) in archive ./.libs/l=
ibpixman-arm-neon.a

/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o)
>>> referenced by pixman-arm-neon-asm.o:(.text+0x2294) in archive ./.libs/l=
ibpixman-arm-neon.a

/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o)
>>> referenced by pixman-arm-neon-asm.o:(.text+0x84E0) in archive ./.libs/l=
ibpixman-arm-neon.a

/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o)
>>> referenced by pixman-arm-neon-asm.o:(.text+0x85C4) in archive ./.libs/l=
ibpixman-arm-neon.a

/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o)
>>> referenced by pixman-arm-neon-asm.o:(.text+0x9720) in archive ./.libs/l=
ibpixman-arm-neon.a

/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o)
>>> referenced by pixman-arm-neon-asm.o:(.text+0x9834) in archive ./.libs/l=
ibpixman-arm-neon.a

/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o)
>>> referenced by pixman-arm-neon-asm.o:(.text+0xA7B0) in archive ./.libs/l=
ibpixman-arm-neon.a

/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o)
>>> referenced by pixman-arm-neon-asm.o:(.text+0xA8CC) in archive ./.libs/l=
ibpixman-arm-neon.a

/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o)
>>> referenced by pixman-arm-neon-asm.o:(.text+0x105A0) in archive ./.libs/=
libpixman-arm-neon.a

/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o)
>>> referenced by pixman-arm-neon-asm.o:(.text+0x10DB8) in archive ./.libs/=
libpixman-arm-neon.a

/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o)
>>> referenced by pixman-arm-neon-asm.o:(.text+0x11274) in archive ./.libs/=
libpixman-arm-neon.a

/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o)
>>> referenced by pixman-arm-neon-asm.o:(.text+0x11808) in archive ./.libs/=
libpixman-arm-neon.a

/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm-bilinear.o)
>>> referenced by pixman-arm-neon-asm-bilinear.o:(.text+0x4F0) in archive .=
/.libs/libpixman-arm-neon.a

/nxb-bin/usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX agai=
nst
local symbol in readonly segment; recompile object files with -fPIC
>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm-bilinear.o)
>>> referenced by pixman-arm-neon-asm-bilinear.o:(.text+0xABC) in archive .=
/.libs/libpixman-arm-neon.a

/nxb-bin/usr/bin/ld: error: too many errors emitted, stopping now (use
-error-limit=3D0 to see all errors)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** [libpixman-1.la] Error code 1

make[3]: stopped in /wrkdirs/usr/ports/x11/pixman/work/pixman-0.34.0/pixman
1 error

make[3]: stopped in /wrkdirs/usr/ports/x11/pixman/work/pixman-0.34.0/pixman
*** [all-recursive] Error code 1

make[2]: stopped in /wrkdirs/usr/ports/x11/pixman/work/pixman-0.34.0
1 error

make[2]: stopped in /wrkdirs/usr/ports/x11/pixman/work/pixman-0.34.0
*** [all] Error code 2

make[1]: stopped in /wrkdirs/usr/ports/x11/pixman/work/pixman-0.34.0
1 error

make[1]: stopped in /wrkdirs/usr/ports/x11/pixman/work/pixman-0.34.0

-fPIC was already passed by default, and LDFLAGS+=3D-Wl,z,notest results in=
 the
same error with a slightly different message of "unrecognised reloc 40".

A workaround is to disable SIMD and NEON for armv6 and armv7.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-233740-7141>