0

in linux, 'write' is a small system call wapper function.

in GDB. if I search for symbol 'write' (info addr write) GDB tells me an address which is in range of libc. but, when I check the export function list of libc there is no 'write' symbol.

what is happening here?

daehee
  • 5,047
  • 7
  • 44
  • 70

1 Answers1

3

when I check the export function list of libc there is no 'write' symbol.

Let's have a look:

[max@xxx:~/tmp] $ nm --dynamic --defined-only /lib64/libc-2.15.so | grep write
0000003c7a4f1990 T eventfd_write
0000003c7a46c540 W fwrite
0000003c7a475570 T fwrite_unlocked
0000003c7a476d50 T _IO_do_write
0000003c7a475fa0 T _IO_file_write
0000003c7a46c540 T _IO_fwrite
0000003c7a471d10 T _IO_wdo_write
0000003c7a4e3060 T __libc_pwrite
0000003c7a4f2310 T process_vm_writev
0000003c7a4e3060 W pwrite
0000003c7a4e3060 W pwrite64
0000003c7a4e3060 W __pwrite64
0000003c7a4ea520 T pwritev
0000003c7a4ea520 T pwritev64
0000003c7a4e4940 W write
0000003c7a4e4940 W __write
0000003c7a4ea3d0 W writev
Maxim Egorushkin
  • 131,725
  • 17
  • 180
  • 271