在Red Hat中编译时出现分段错误,但在使用ubuntu时工作正常

时间:2011-09-27 05:59:37

标签: linux x86 intel nasm redhat

这是我正在执行的代码。它使用NASM 2.08在ubuntu上提供所需的输出,但在使用运行NASM的Red Hat 7.3编译时出现分段错误0.98.22 有人可以通过告诉我如何确保它在红帽上运行良好来帮助我。

section .data

section .text
    global _start
_start:

xor eax,eax
cdq
push eax
push long 0x68732f2f
push long 0x6e69622f
mov ebx,esp
push eax
push eax
mov ecx,esp
mov al,0xb
push eax
int 0x80

1 个答案:

答案 0 :(得分:0)

您的代码是32位,因此在构建它时,您需要确保构建32位可执行文件。默认情况下,这将在您的32位操作系统上发生,但您可能需要像-m32这样的开关才能在64位操作系统上实现此目的。