• Dmitry Safonov's avatar
    ia32: Get rid of R_X86_64_32S relocation · 585dda23
    Dmitry Safonov authored
    Distributions starts to supply GCC that is configured to compile
    -pie and -fPIC code by default due to security reasons.
    
    CONFIG_COMPAT was unfriendy to -pie by the reason of R_X86_64_32S
    relocation in call32.S helper:
      LINK     criu/criu
    /usr/bin/ld: criu/arch/x86/crtools.built-in.o: relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: final link failed: Nonrepresentable section on output
    collect2: error: ld returned 1 exit status
    make[1]: *** [criu/Makefile:92: criu/criu] Error 1
    make: *** [Makefile:225: criu] Error 2
    
    Use %rip-relative addressing to avoid ld errors for shared binary linking.
    Puff, all needs to be done with bare hands!
    
    Now CONFIG_COMPAT can be used with -pie binaries and all should
    also work for debian toolchain (#315).
    Signed-off-by: 's avatarDmitry Safonov <dsafonov@virtuozzo.com>
    Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
    585dda23
Name
Last commit
Last update
Documentation Loading commit data...
compel Loading commit data...
contrib Loading commit data...
coredump Loading commit data...
crit Loading commit data...
criu Loading commit data...
images Loading commit data...
include/common Loading commit data...
lib Loading commit data...
scripts Loading commit data...
soccr Loading commit data...
test Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
.travis.yml Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
INSTALL.md Loading commit data...
Makefile Loading commit data...
Makefile.compel Loading commit data...
Makefile.config Loading commit data...
Makefile.install Loading commit data...
Makefile.versions Loading commit data...
README.md Loading commit data...