Hello.

---

bash-2.05b# cat exit.s
global _start:

_start:
        xor ebx, ebx
        mov eax, 1
        int 80h


$ uname -srp Linux 2.6.11-gentoo-r3 AMD Duron(tm) Processor

bash-2.05b# nasm -f elf -o exit.o exit.s
bash-2.05b# ld -o exit exit.o
bash-2.05b# ./exit
Naruszenie ochrony pamieci ( seg fault )

bash-2.05b# strace ./exit
execve("./exit", ["./exit"], [/* 45 vars */]) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

# objdump -D exit

exit:     file format elf32-i386

Disassembly of section .text:

080480a0 <_start>:
 80480a0:       31 db                   xor    %ebx,%ebx
 80480a2:       b8 01 00 00 00          mov    $0x1,%eax
 80480a7:       cd 80                   int    $0x80
Disassembly of section .comment:

00000000 <.comment>:
   0:   00 54 68 65             add    %dl,0x65(%eax,%ebp,2)
   4:   20 4e 65                and    %cl,0x65(%esi)
   7:   74 77                   je     80 <_start-0x8048020>
   9:   69 64 65 20 41 73 73    imul   $0x65737341,0x20(%ebp,2),%esp
  10:   65
  11:   6d                      insl   (%dx),%es:(%edi)
  12:   62 6c 65 72             bound  %ebp,0x72(%ebp,2)
  16:   20 30                   and    %dh,(%eax)
  18:   2e 39 38                cmp    %edi,%cs:(%eax)
  1b:   2e 33 38                xor    %cs:(%eax),%edi

# objdump -x exit

exit:     file format elf32-i386
exit
architecture: i386, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x080480a0


The same code under as: bash-2.05b# cat exit.s .global _start

_start:
        xor %ebx, %ebx
        mov $1, %eax
        int $0x80

bash-2.05b# as -o exit.o exit.s
bash-2.05b# ld -o exit exit.o
bash-2.05b# ./exit
bash-2.05b# strace ./exit
execve("./exit", ["./exit"], [/* 45 vars */]) = 0
_exit(0)

# objdump -D exit

exit:     file format elf32-i386

Disassembly of section .text:

08048094 <_start>:
 8048094:       31 db                   xor    %ebx,%ebx
 8048096:       b8 01 00 00 00          mov    $0x1,%eax
 804809b:       cd 80                   int    $0x80

---

Any ideas why the same code doesn't work under asm?

# nasm -v
NASM version 0.98.38 compiled on Mar 26 2005

( installed from gentoo portage )

i've tried to rebuild nasm but it didn't solve my problem.

Any ideas what's wrong?

Thanks.

--
Shm - shm ( at ) irc7 ( dot ) pl
EKG: 2099452  JID: [EMAIL PROTECTED]
homepage : http://shm.nation.pl/
-
To unsubscribe from this list: send the line "unsubscribe linux-assembly" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to