Strcpy-sse2-unaligned.S no encontrado

Estoy comstackndo el código simple a continuación, y lo ejecuto en gdb. Establecí un punto de interrupción en la línea de strcpy, tan pronto como lo ejecuto para la entrada, por ejemplo abc, y luego presiono s, aparece el siguiente error:

Breakpoint 1, main (argc=2, argv=0x7fffffffdd98) at ExploitMe.c:9 9 strcpy(buffer, argv[1]); (gdb) s __strcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S:48 48 ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: No such file or directory. 

Estoy usando ubuntu 12.04 AMD64 y gcc 2.15. ¿Alguna idea?


 main(int argc, char *argv[]) { char buffer[80]; strcpy(buffer, argv[1]); return 0; } 

Es completamente inofensivo ignorar estos “errores” al depurar.

El error es simplemente porque GDB está buscando la fuente de la función strcpy . Cualquier función en libc para la que no tenga la fuente dará un error similar, por ejemplo:

 int *p = malloc(sizeof *p); 

Entonces…

 (gdb) s 5 int *p = malloc(sizeof *p); (gdb) s __GI___libc_malloc (bytes=4) at malloc.c:2910 2910 malloc.c: No such file or directory. 

Siempre puede descargar la fuente de GNU libc y vincularla con GDB:

 git clone https://github.com/jeremie-koenig/glibc /opt/src/glibc 

Entonces…

 (gdb) dir /opt/src/glibc/malloc (gdb) s 5 int *p = malloc(sizeof *p); (gdb) s __GI___libc_malloc (bytes=4) at malloc.c:2910 2910 } (gdb) s 2915 } else if (!in_smallbin_range(size)) 

… lo que te permitirá pasar por el código fuente de malloc . No es particularmente útil, pero a veces puede ser útil.