Undefined SysCall - Linux

This is a discussion on Undefined SysCall - Linux ; I have a RedHat Linux V Enterprise box with GNU 4.1: while inspecting the glib, I found that: pthreadlib.a contains a `pthread_create.o' with the lines: mov eax,0x137 ;set EAX = 311 (decimal) int 0x80 ;syscall with undefined code My x86_64 ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: Undefined SysCall

  1. Undefined SysCall

    I have a RedHat Linux V Enterprise box with GNU 4.1: while inspecting
    the glib, I found that: pthreadlib.a contains a `pthread_create.o'
    with the lines:

    mov eax,0x137 ;set EAX = 311 (decimal)
    int 0x80 ;syscall with undefined code

    My x86_64 box only has syscall numbers up to 0x117 (279 decimal),
    according to asm/unistd.h. I perused asm-x86_64/unistd.h and other
    syscall.h files, to no avail -- 0x137 seems undefined on my box.
    Any idea what 0x137 is the syscall code for?
    I objdump'd /usr/lib/pthreadlib.a and did not run the extracted
    object (pthread_create.o) through any filters.

    Thanks for any insights,
    -- Scott


  2. Re: Undefined SysCall

    Scott J. McCaughrin schrieb:

    > I have a RedHat Linux V Enterprise box with GNU 4.1: while inspecting
    > the glib, I found that: pthreadlib.a contains a `pthread_create.o'
    > with the lines:
    >
    > mov eax,0x137 ;set EAX = 311 (decimal)
    > int 0x80 ;syscall with undefined code
    >

    Are you sure you are not listing garbage e.g. a not continously aligned code
    section?

    Kind regards

    Jan

  3. Re: Undefined SysCall

    "Scott J. McCaughrin" writes:

    > I have a RedHat Linux V Enterprise box with GNU 4.1: while inspecting
    > the glib, I found that: pthreadlib.a contains a `pthread_create.o'
    > with the lines:
    >
    > mov eax,0x137 ;set EAX = 311 (decimal)
    > int 0x80 ;syscall with undefined code
    >
    > My x86_64 box only has syscall numbers up to 0x117 (279 decimal),


    On Fedora Core 6 (kernel 2.6.19), /usr/include/asm-i386/unistd.h:
    ....
    #define __NR_set_robust_list 311
    #define __NR_get_robust_list 312
    #define __NR_splice 313
    #define __NR_sync_file_range 314
    #define __NR_tee 315
    #define __NR_vmsplice 316
    #define __NR_move_pages 317
    #define __NR_getcpu 318
    #define __NR_epoll_pwait 319

    #endif /* _ASM_I386_UNISTD_H_ */

    It is a "standard" glibc technique to issue e.g.
    syscall(__NR_set_robust_list), and fall back to other mechanism if
    it returns ENOSYS.

    Cheers,
    --
    In order to understand recursion you must first understand recursion.
    Remove /-nsp/ for email.

+ Reply to Thread