From: H. Peter Anvin Date: Wed, 27 Feb 2008 20:51:29 +0000 (-0800) Subject: Un-inline fclose() X-Git-Tag: syslinux-3.70-pre1~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3d0cb11079c5dc6115a9282b51b1f42151c4926e;p=profile%2Fivi%2Fsyslinux.git Un-inline fclose() gcc complains that fclose() is too big to be inlined with -Os, so humour it and move fclose() out of line. --- diff --git a/com32/include/stdio.h b/com32/include/stdio.h index 7cbb4b8..bbb7552 100644 --- a/com32/include/stdio.h +++ b/com32/include/stdio.h @@ -54,12 +54,7 @@ static __inline__ FILE *fdopen(int __fd, const char *__m) { (void)__m; return __create_file(__fd); } -static __inline__ int fclose(FILE *__f) -{ - extern int close(int); - return close(fileno(__f)); -} - +__extern int fclose(FILE *__f); __extern int fputs(const char *, FILE *); __extern int puts(const char *); __extern int fputc(int, FILE *); diff --git a/com32/lib/Makefile b/com32/lib/Makefile index 810c2bc..3dec5c3 100644 --- a/com32/lib/Makefile +++ b/com32/lib/Makefile @@ -4,7 +4,7 @@ include MCONFIG LIBOBJS = \ abort.o atexit.o atoi.o atol.o atoll.o calloc.o creat.o \ ctypes.o errno.o fgetc.o fgets.o fopen.o fprintf.o fputc.o \ - putchar.o setjmp.o \ + fclose.o putchar.o setjmp.o \ fputs.o fread2.o fread.o free.o fwrite2.o fwrite.o getopt.o \ lrand48.o malloc.o stack.o memccpy.o memchr.o memcmp.o \ memcpy.o mempcpy.o memmem.o memmove.o memset.o memswap.o \ diff --git a/com32/lib/fclose.c b/com32/lib/fclose.c new file mode 100644 index 0000000..41f6a62 --- /dev/null +++ b/com32/lib/fclose.c @@ -0,0 +1,11 @@ +/* + * fclose.c + */ + +#include +#include + +int fclose(FILE *__f) +{ + return close(fileno(__f)); +}