.hello_str:
.string "Hello, GAS!"
.globl main
.type main, @function
main:
movl $.hello_str, %edi
call puts@PLT
movl $0, %edi
call exit@PLT
компилирую так:
gcc -o a.out ./1_1.s
На обоих машинах стоит 64битная убунта.
На одном компилируется, на другом ругается.
gcc -o a.out ./1_1.s
/usr/bin/ld: /tmp/ccTxc4Ax.o: relocation R_X86_64_32 against `.text' can not be used when making a PIE object; перекомпилируйте с параметром -fPIC
/usr/bin/ld: final link failed: Раздел, непредставимый для вывода
collect2: error: ld returned 1 exit status
Параметр -fPIC не помогает
$ gcc -fPIC -o a.out ./1_1.s
/usr/bin/ld: /tmp/ccbz8Upi.o: relocation R_X86_64_32 against `.text' can not be used when making a PIE object; перекомпилируйте с параметром -fPIC
/usr/bin/ld: final link failed: Раздел, непредставимый для вывода
collect2: error: ld returned 1 exit status