I'm trying to use a function in assembly, invoked from a C project. This function is supposed to call a libc function let's say printf(), but I keep getting a segmentation fault.
In the .c file I have the declaration of the function let's say
int do_shit_in_asm() In the .asm file I have
.extern printf .section .data printtext: .ascii "test" .section .text .global do_shit_in_asm .type do_shit_in_asm, @function do_shit_in_asm: pushl %ebp movl %esp, %ebp push printtext call printf movl %ebp, %esp pop %ebp ret Any pointers comments would be appreciated.
as func.asm -o func.o gcc prog.c func.o -o prog
void*, right?