Author: oxygene
Date: Thu Feb 24 08:18:11 2011
New Revision: 6377
URL: https://tracker.coreboot.org/trac/coreboot/changeset/6377

Log:
libpayload: Move stdin/stdout/stderr away from headers

Otherwise they exist in several object files, confusing the linker

Signed-off-by: Patrick Georgi <[email protected]>
Acked-by: Peter Stuge <[email protected]>

Modified:
   trunk/payloads/libpayload/include/curses.h
   trunk/payloads/libpayload/include/stdio.h
   trunk/payloads/libpayload/libc/printf.c

Modified: trunk/payloads/libpayload/include/curses.h
==============================================================================
--- trunk/payloads/libpayload/include/curses.h  Thu Feb 24 06:00:33 2011        
(r6376)
+++ trunk/payloads/libpayload/include/curses.h  Thu Feb 24 08:18:11 2011        
(r6377)
@@ -148,11 +148,7 @@
 typedef unsigned long mmask_t;
 #endif
 
-//// #include <stdio.h>
-struct _IO_FILE {
-       // FIXME
-};
-typedef struct _IO_FILE FILE;
+#include <stdio.h>
 //// #include <ncursesw/unctrl.h>
 #include <stdarg.h>    /* we need va_list */
 //// #define va_list int       // FIXME

Modified: trunk/payloads/libpayload/include/stdio.h
==============================================================================
--- trunk/payloads/libpayload/include/stdio.h   Thu Feb 24 06:00:33 2011        
(r6376)
+++ trunk/payloads/libpayload/include/stdio.h   Thu Feb 24 08:18:11 2011        
(r6377)
@@ -32,14 +32,9 @@
 
 #include <stddef.h>
 
-struct _FILE {
-} _stdout, _stdin, _stderr;
-
 typedef struct _FILE FILE;
 
-FILE *stdout = &_stdout;
-FILE *stdin = &_stdin;
-FILE *stderr = &_stderr;
+extern FILE *stdout, *stdin, *stderr;
 
 /**
  * @defgroup printf Print functions

Modified: trunk/payloads/libpayload/libc/printf.c
==============================================================================
--- trunk/payloads/libpayload/libc/printf.c     Thu Feb 24 06:00:33 2011        
(r6376)
+++ trunk/payloads/libpayload/libc/printf.c     Thu Feb 24 08:18:11 2011        
(r6377)
@@ -36,6 +36,13 @@
 #include <libpayload.h>
 #include <ctype.h>
 
+static struct _FILE {
+} _stdout, _stdin, _stderr;
+
+FILE *stdout = &_stdout;
+FILE *stdin = &_stdin;
+FILE *stderr = &_stderr;
+
 /** Structure for specifying output methods for different printf clones. */
 struct printf_spec {
        /* Output function, returns count of printed characters or EOF. */

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to