Asamblea Linux de 32 bits - Vinculación de archivos juntos (gas y ld)
Pregunta
Me escribió una función llamada strlen:
.section .text
.global strlen
.type strlen, @function
strlen:
... code ...
I recopilado esta así:
as --32 strlen.asm -o strlen.o
Luego me escribió un programa en asm para imprimir argv que quiero con este enlace. Reuní que de la misma manera. Ahora quiero unirlos para que el programa actual se puede utilizar strlen. Probé:
ld printnum.o strlen.o -m elf_i386 -o printnum
pero que los rendimientos:
printnum.o: In function `loop':
(.text+0x5): undefined reference to `strlen'
Debo estar perdiendo algo realmente sencillo. Gracias!
Solución
A principios estúpidamente corrió strip
en strlen.o que obviamente elimina todos los símbolos. Buen trabajo conmigo.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow