[Mesa-dev] [Bug 83669] fix build with gcc link time optimizer

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Sep 11 03:36:23 PDT 2014


https://bugs.freedesktop.org/show_bug.cgi?id=83669

--- Comment #10 from Marc Dietrich <marvin24 at gmx.de> ---
I check with -g -O0 and debug symbols are generated, but I can't tell about
their usefulness. Compiling with --enable-debug fails though because -DDEBUG
seems to do strange things in combination with --enable-glx-tls, but works
without:

  CCLD     glapi/libglapi.la
/tmp/ccLLavDU.ltrans4.ltrans.o: In function `entry_get_public':
ccLLavDU.ltrans4.o:(.text+0x10): undefined reference to `x86_64_entry_start'
/usr/lib64/gcc/x86_64-suse-linux/4.9/../../../../x86_64-suse-linux/bin/ld:
/tmp/ccLLavDU.ltrans4.ltrans.o: relocation R_X86_64_PC32 against undefined
symbol `x86_64_entry_start' can not be used when making a shared object;
recompile with -fPIC
/usr/lib64/gcc/x86_64-suse-linux/4.9/../../../../x86_64-suse-linux/bin/ld:
final link failed: Bad value
collect2: error: ld returned 1 exit status

The problem mentioned in comment 7 (all files are compiled with sse4.1 enabled
using lto) might really exist. See
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54231. The recommendation is to
add the target pragma instead of adding linker flags, but I think this is not
portable.

Here is my configuration if anyone wants to try:

COMMON_FLAGS="--prefix=/usr     \
        --enable-texture-float  \
        --enable-gles1          \
        --enable-gles2          \
        --enable-openvg         \
        --enable-gallium-osmesa \
        --enable-dri3           \
        --enable-xa             \
        --enable-xvmc           \
        --enable-vdpau          \
        --enable-omx            \
        --enable-r600-llvm-compiler \
        --enable-glx-tls        \
        --enable-gbm            \
        --enable-gallium-llvm   \
        --enable-gallium-gbm    \
        --enable-gallium-egl    \
        --with-gallium-drivers=r600,swrast \
        --enable-debug          \
        --with-egl-platforms=drm,x11,wayland \
        --with-dri-drivers=no"

./autogen.sh \
        $COMMON_FLAGS \
        CFLAGS="-march=native -flto -fuse-ld=gold -fuse-linker-plugin" \
        CXXFLAGS="-march=native -flto -fuse-ld=gold -fuse-linker-plugin" \
        LDFLAGS="-march=native -flto -fuse-ld=gold -fuse-linker-plugin" \
        LD="ld.gold" \
        AR="gcc-ar-4.9" \
        NM="gcc-nm-4.9" \
        RANLIB="gcc-ranlib-4.9"

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140911/c12e69b6/attachment.html>


More information about the mesa-dev mailing list