On Wed, Mar 12, 2014 at 7:14 AM, Kim Chan <ckim@xxxxxxxxxx> wrote:
int
__printf (const char *format, ...)
{
va_list arg;
int done;
va_start (arg, format);
done = vfprintf (stdout, format, arg);
va_end (arg);
return done;
}
it in turn call vfprintf. You can see Glibc vfprintf.c (glibc-2.18/stdio-common/vfprintf.c)
Hi,I've had this question for some time past and I would like to know the answer now..I wanted to follow a printf in busybox but couldn't find the source of the printf function.Then I throught probably the printf is provided by the system library where printf is connected to proper linux system call. (Is it printk?)So I checkd LD_LIBRARY_PATH of my shell and found libc.so under /lib. I could see by 'nm libc.so' that printf is in the library.But where can I see the printf source? Is it under gcc source? in GNU sdk, under glibc-2.16.0, I tried# grep 'int printf(' * -rbut nothing comes up.In linux kernel source doing the same gaves mearch/x86/boot/boot.h:int printf(const char *fmt, ...);
arch/x86/boot/printf.c:int printf(const char *fmt, ...)
arch/um/include/shared/kern.h:extern int printf(const char *fmt, ...);
arch/um/os-Linux/user_syms.c:extern int printf(const char *, ...);
arch/powerpc/boot/stdio.h:extern int printf(const char *fmt, ...) __attribute__((format(printf, 1, 2)));so printf is defined only for x86 architecture?I understand printf is for user program not kernel, so I want to see how the printf is connected to kernel print function. (the system call, I know in sparc, linux system call is trap 0x90, function 59 when using assembly)Where can I find the printf (user program) source?Thanks in advance.Chan
Hi Chan,
Here is Glibc printf.c code:
int
__printf (const char *format, ...)
{
va_list arg;
int done;
va_start (arg, format);
done = vfprintf (stdout, format, arg);
va_end (arg);
return done;
}
it in turn call vfprintf. You can see Glibc vfprintf.c (glibc-2.18/stdio-common/vfprintf.c)
Correct me If my understanding is wrong.
Thanks
Mohan L
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies