Bug 72064

Summary: relocation truncated to fit: R_ARM_THM_JUMP11 mesa 10 rc2
Product: Mesa Reporter: Alexander Khryukin <alexander>
Component: Drivers/Gallium/r600Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED MOVED QA Contact:
Severity: normal    
Priority: medium    
Version: git   
Hardware: ARM   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

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.