.section .data terminfo_db: .asciz "/usr/share/terminfo/x/xterm-256color" .section .bss struct_stat: st_dev: .long 0 st_ino: .long 0 st_mode: .byte 0 st_nlink: .byte 0 st_uid: .byte 0 st_gid: .byte 0 st_rdev: .long 0 st_size: .long 0 st_blksize: .long 0 st_blocks: .long 0 st_atime: .long 0 st_atime_nsec: .long 0 st_mtime: .long 0 st_mtime_nsec: .long 0 st_ctime: .long 0 st_ctime_nsec: .long 0 unused4: .long 0 unused5: .long 0 struct_stat64: _st_dev: .quad 0 __pad0: .long 0 __st_ino: .long 0 _st_mode: .long 0 _st_nlink: .long 0 _st_uid: .long 0 _st_gid: .long 0 _st_rdev: .quad 0 __pad3: .long 0 _st_size: .quad 0 _st_block_size: .quad 0 _st_blocks: .long 0 __pad4: .long 0 _st_atime: .long 0 _st_atime_nsec: .long 0 _st_mtime: .long 0 _st_mtime_nsec: .long 0 _st_ctime: .long 0 _st_ctime_nsec: .long 0 _st_ino: .long 0 .section .text .globl _start _start: nop # let gdb stop in here if needed movl %esp, %ebp # save stack pointer jmp stat32 stat32: movl $106, %eax # sys_stat (32 bits) movl $terminfo_db, %ebx movl $struct_stat, %ecx int $0x80 stat64: movl $195, %eax # sys_stat (64 bits) movl $terminfo_db, %ebx movl $struct_stat64, %ecx int $0x80 exit: movl %eax, %ebx movl $1, %eax int $0x80