Bug 72064 - relocation truncated to fit: R_ARM_THM_JUMP11 mesa 10 rc2
Summary: relocation truncated to fit: R_ARM_THM_JUMP11 mesa 10 rc2
Status: RESOLVED MOVED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/r600 (show other bugs)
Version: git
Hardware: ARM Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-27 09:58 UTC by Alexander Khryukin
Modified: 2019-09-18 19:11 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Alexander Khryukin 2013-11-27 09:58:16 UTC
Hello.
I trying to build Mesa 10.0.rc2. on armv7 with hardfloat
and i got an error 


libtool: compile:  armv7hl-mandriva-linux-gnueabi-gcc -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_TARNAME=\"mesa\" -DPACKAGE_VERSION=\"10.0.0-rc2\" "-DPACKAGE_STRING=\"Mesa 10.0.0-rc2\"" "-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\"" -DPACKAGE_URL=\"\" -DPACKAGE=\"mesa\" -DVERSION=\"10.0.0-rc2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CLOCK_GETTIME=1 -DHAVE_PTHREAD=1 -I. -I../../../../include -I../../../../src/gallium/include -I../../../../src/gallium/auxiliary -D_GNU_SOURCE -DHAVE_PTHREAD -DTEXTURE_FLOAT_ENABLED -DHAVE_DLOPEN -DHAVE_POSIX_MEMALIGN -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DUSE_EXTERNAL_DXTN_LIB=1 -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_LLVM=0x0304 -I../../../../include -I../../../../src/gallium/drivers -I../../../../src/gallium/winsys -I../../../../src/gallium/include -I../../../../src/gallium/auxiliary -I../../../../src/gallium/state_trackers/egl -I../../../../src/egl/main -D_EGL_MAIN=_eglMain -I/usr/include/libdrm -I/usr/include/libdrm -I/usr/include/libdrm -I../../../../src/mesa -DFEATURE_GL=1 -DFEATURE_ES1=1 -DFEATURE_ES2=1 -I../../../../src/gallium/state_trackers/vega -DFEATURE_VG=1 -D_EGL_PIPE_NOUVEAU=1 -D_EGL_PIPE_R300=1 -D_EGL_PIPE_R600=1 -D_EGL_PIPE_VMWGFX=1 -D_EGL_PIPE_FREEDRENO=1 -DGALLIUM_SOFTPIPE -DGALLIUM_RBUG -DGALLIUM_TRACE -DGALLIUM_LLVMPIPE -pthread -O2 -Wa,--compress-debug-sections -gdwarf-4 -fvar-tracking-assignments -frecord-gcc-switches -Wstrict-aliasing=2 -pipe -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fPIC -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -Wall -std=c99 -Werror=implicit-function-declaration -Werror=missing-prototypes -fno-strict-aliasing -fno-builtin-memcmp -c egl_st.c  -fPIC -DPIC -o .libs/egl_st.o
/bin/sh ../../../../libtool  --tag=CXX   --mode=link armv7hl-mandriva-linux-gnueabi-g++  -O2 -Wa,--compress-debug-sections -gdwarf-4 -fvar-tracking-assignments -frecord-gcc-switches -Wstrict-aliasing=2 -pipe  -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4  -fPIC -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -Wall -fno-strict-aliasing -fno-builtin-memcmp  -Wl,--no-undefined -Wl,--allow-multiple-definition -avoid-version -module -L/usr/lib/llvm  -lz -lpthread -lffi -ldl -lm  -L/usr/lib/llvm -fuse-ld=bfd -Wl,--version-script=../../../../src/gallium/targets/egl-static/egl.link -o egl_gallium.la -rpath /usr/lib/egl egl.lo egl_pipe.lo egl_st.lo ../../../../src/gallium/auxiliary/libgallium.la ../../../../src/gallium/drivers/identity/libidentity.la ../../../../src/gallium/drivers/trace/libtrace.la ../../../../src/gallium/drivers/rbug/librbug.la ../../../../src/gallium/state_trackers/egl/libegl.la ../../../../src/egl/main/libEGL.la  -ludev  -ldl -lpthread -lm ../../../../src/gallium/winsys/sw/xlib/libws_xlib.la -lX11 -lXext -lXfixes -ldrm  ../../../../src/gallium/winsys/sw/wayland/libws_wayland.la ../../../../src/egl/wayland/wayland-drm/libwayland-drm.la -ldrm  -lwayland-client -lwayland-server  ../../../../src/gbm/libgbm.la -ldrm  ../../../../src/gallium/winsys/sw/fbdev/libfbdev.la  ../../../../src/mesa/libmesagallium.la ../../../../src/mapi/shared-glapi/libglapi.la  ../../../../src/gallium/state_trackers/vega/libvega.la ../../../../src/mapi/vgapi/libOpenVG.la   ../../../../src/gallium/winsys/nouveau/drm/libnouveaudrm.la ../../../../src/gallium/drivers/nouveau/libnouveau.la -ldrm_nouveau  ../../../../src/gallium/winsys/radeon/drm/libradeonwinsys.la ../../../../src/gallium/drivers/r300/libr300.la -ldrm_radeon  ../../../../src/gallium/winsys/radeon/drm/libradeonwinsys.la ../../../../src/gallium/drivers/r600/libr600.la -ldrm_radeon   ../../../../src/gallium/winsys/svga/drm/libsvgadrm.la ../../../../src/gallium/drivers/svga/libsvga.la ../../../../src/gallium/winsys/freedreno/drm/libfreedrenodrm.la ../../../../src/gallium/drivers/freedreno/libfreedreno.la -ldrm_freedreno  ../../../../src/gallium/drivers/softpipe/libsoftpipe.la ../../../../src/gallium/drivers/llvmpipe/libllvmpipe.la -lLLVMR600CodeGen -lLLVMR600Desc -lLLVMR600Info -lLLVMR600AsmPrinter -lLLVMOption -lLLVMIRReader -lLLVMBitReader -lLLVMAsmParser -lLLVMInstrumentation -lLLVMLinker -lLLVMipo -lLLVMVectorize -lLLVMMCJIT -lLLVMBitWriter -lLLVMARMDisassembler -lLLVMARMCodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMARMAsmParser -lLLVMMCParser -lLLVMARMDesc -lLLVMARMInfo -lLLVMARMAsmPrinter -lLLVMJIT -lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMCodeGen -lLLVMObjCARCOpts -lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport
libtool: link: armv7hl-mandriva-linux-gnueabi-g++  -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/armv7hl-mandriva-linux-gnueabi/4.7.4/../../../crti.o /usr/lib/gcc/armv7hl-mandriva-linux-gnueabi/4.7.4/crtbeginS.o  .libs/egl.o .libs/egl_pipe.o .libs/egl_st.o  -Wl,--whole-archive ../../../../src/gallium/auxiliary/.libs/libgallium.a ../../../../src/gallium/drivers/identity/.libs/libidentity.a ../../../../src/gallium/drivers/trace/.libs/libtrace.a ../../../../src/gallium/drivers/rbug/.libs/librbug.a ../../../../src/gallium/state_trackers/egl/.libs/libegl.a ../../../../src/gallium/winsys/sw/xlib/.libs/libws_xlib.a ../../../../src/gallium/winsys/sw/wayland/.libs/libws_wayland.a ../../../../src/egl/wayland/wayland-drm/.libs/libwayland-drm.a ../../../../src/gallium/winsys/sw/fbdev/.libs/libfbdev.a ../../../../src/mesa/.libs/libmesagallium.a ../../../../src/gallium/state_trackers/vega/.libs/libvega.a ../../../../src/gallium/winsys/nouveau/drm/.libs/libnouveaudrm.a ../../../../src/gallium/drivers/nouveau/.libs/libnouveau.a ../../../../src/gallium/winsys/radeon/drm/.libs/libradeonwinsys.a ../../../../src/gallium/drivers/r300/.libs/libr300.a ../../../../src/gallium/winsys/radeon/drm/.libs/libradeonwinsys.a ../../../../src/gallium/drivers/r600/.libs/libr600.a ../../../../src/gallium/winsys/svga/drm/.libs/libsvgadrm.a ../../../../src/gallium/drivers/svga/.libs/libsvga.a ../../../../src/gallium/winsys/freedreno/drm/.libs/libfreedrenodrm.a ../../../../src/gallium/drivers/freedreno/.libs/libfreedreno.a ../../../../src/gallium/drivers/softpipe/.libs/libsoftpipe.a ../../../../src/gallium/drivers/llvmpipe/.libs/libllvmpipe.a -Wl,--no-whole-archive  -Wl,-rpath -Wl,/home/fedya/mesa/BUILD/Mesa-10.0.0-rc2/src/egl/main/.libs -Wl,-rpath -Wl,/home/fedya/mesa/BUILD/Mesa-10.0.0-rc2/src/gbm/.libs -Wl,-rpath -Wl,/home/fedya/mesa/BUILD/Mesa-10.0.0-rc2/src/mapi/shared-glapi/.libs -Wl,-rpath -Wl,/home/fedya/mesa/BUILD/Mesa-10.0.0-rc2/src/mapi/vgapi/.libs -L/usr/lib/llvm ../../../../src/egl/main/.libs/libEGL.so -lX11-xcb -lxcb-dri2 -lxcb-xfixes -lxcb-render -lxcb-shape -lxcb /home/fedya/mesa/BUILD/Mesa-10.0.0-rc2/src/gbm/.libs/libgbm.so -lX11 -lXext -lXfixes ../../../../src/gbm/.libs/libgbm.so -ludev -lwayland-client -lwayland-server /home/fedya/mesa/BUILD/Mesa-10.0.0-rc2/src/mapi/shared-glapi/.libs/libglapi.so -ldrm ../../../../src/mapi/shared-glapi/.libs/libglapi.so ../../../../src/mapi/vgapi/.libs/libOpenVG.so -ldrm_nouveau -lelf -ldrm_radeon -ldrm_freedreno -lz -lpthread -lffi -ldl -lLLVMR600CodeGen -lLLVMR600Desc -lLLVMR600Info -lLLVMR600AsmPrinter -lLLVMOption -lLLVMIRReader -lLLVMBitReader -lLLVMAsmParser -lLLVMInstrumentation -lLLVMLinker -lLLVMipo -lLLVMVectorize -lLLVMMCJIT -lLLVMBitWriter -lLLVMARMDisassembler -lLLVMARMCodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMARMAsmParser -lLLVMMCParser -lLLVMARMDesc -lLLVMARMInfo -lLLVMARMAsmPrinter -lLLVMJIT -lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMCodeGen -lLLVMObjCARCOpts -lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport -L/usr/lib/gcc/armv7hl-mandriva-linux-gnueabi/4.7.4 -L/usr/lib/gcc/armv7hl-mandriva-linux-gnueabi/4.7.4/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/armv7hl-mandriva-linux-gnueabi/4.7.4/crtendS.o /usr/lib/gcc/armv7hl-mandriva-linux-gnueabi/4.7.4/../../../crtn.o  -O2 -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -Wl,--no-undefined -Wl,--allow-multiple-definition -fuse-ld=bfd -Wl,--version-script=../../../../src/gallium/targets/egl-static/egl.link -Wl,--warn-unresolved-symbols   -pthread -Wl,-soname -Wl,egl_gallium.so -o .libs/egl_gallium.so
../../../../src/gallium/winsys/radeon/drm/.libs/libradeonwinsys.a(radeon_drm_bo.o): In function `radeon_bo_map':
/home/fedya/mesa/BUILD/Mesa-10.0.0-rc2/src/gallium/winsys/radeon/drm/radeon_drm_bo.c:516:(.text+0xe78): relocation truncated to fit: R_ARM_THM_JUMP11 against symbol `radeon_bo_do_map' defined in .text section in ../../../../src/gallium/winsys/radeon/drm/.libs/libradeonwinsys.a(radeon_drm_bo.o)
collect2: error: ld returned 1 exit status
gmake[3]: *** [egl_gallium.la] Error 1
gmake[3]: Leaving directory `/home/fedya/mesa/BUILD/Mesa-10.0.0-rc2/src/gallium/targets/egl-static'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/home/fedya/mesa/BUILD/Mesa-10.0.0-rc2/src/gallium/targets'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/home/fedya/mesa/BUILD/Mesa-10.0.0-rc2/src'
make: *** [all-recursive] Error 1
Comment 1 Maarten Lankhorst 2013-11-27 15:40:00 UTC
Affects ubuntu too, adding -fno-optimize-sibling-calls to CXXFLAGS and CFLAGS for armhf can work around it.

This appears to be a toolchain bug, probably caused by the following code in radeon_drm_bo.c:

void *radeon_bo_do_map(struct radeon_bo *bo)
{
...
}

static void *radeon_bo_map(struct radeon_winsys_cs_handle *buf,
                           struct radeon_winsys_cs *rcs,
                           enum pipe_transfer_usage usage)
{
    ...
    return radeon_bo_do_map(bo);
}
Comment 2 GitLab Migration User 2019-09-18 19:11:57 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/473.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.