在创建PIE对象时,不能使用针对未定义符号'ELF'的重定位R_X86_64_8

问题描述 投票:1回答:1

具有此功能:

    .text
    .globl main
main:
    xor %eax, %eax
    lea str(%rip), %rdi
    call printf
    call exit

str: .byte 0x7F, "ELF", 1,1,1,0

我以为.byte指令可以像nasm中那样连接在一起>>

db      0x7F, "ELF", 1, 1, 1, 0         ;   e_ident

来源:http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html

[具有此内容:.text .globl主要主要:xor%eax,%eax lea str(%rip),%rdi调用printf调用出口str:.byte 0x7F,“ ELF”,1,1,1,0我以为.byte指令可能是...

x86-64 gas
1个回答
0
投票

在GAS语法中,"ELF"是对符号名称ELF的符号引用,而不是多字符字符串。就像mov $'a', %eax这样的立即数一样,GAS不支持将多字符字符文字用作数字常量。 (在.byte的上下文中,它只是在寻找数字,而不是可能的字符串。)

© www.soinside.com 2019 - 2024. All rights reserved.