*(.data)
*(.data.*)
- /* Various tables */
+ /* Various tables. See include/tables.h for an explanation. */
+ *(SORT(.tbl.*))
+
+
device_drivers = .;
*(.drivers.device)
device_drivers_end = .;
type_drivers = .;
*(.drivers.type)
type_drivers_end = .;
- console_drivers = .;
- *(.drivers.console)
- console_drivers_end = .;
post_reloc_fns = .;
*(SORT(.post_reloc_fns.*))
post_reloc_fns_end = .;
- init_fns = .;
- *(SORT(.init_fns.*))
- init_fns_end = .;
_progbits_end = .;
}
*/
#include "bios.h"
-extern struct console_driver console_drivers[];
-extern struct console_driver console_drivers_end[];
+static struct console_driver console_drivers[0] __table_start ( console );
+static struct console_driver console_drivers_end[0] __table_end ( console );
/*****************************************************************************
* putchar : write a single character to each console
#include "stdint.h"
#include "vsprintf.h"
+#include "tables.h"
/*
* Consoles that cannot be used before their INIT_FN() has completed
};
#define __console_driver \
- __attribute__ (( used, __section__ ( ".drivers.console" ) ))
+ __attribute__ (( used, __table_section ( console, 01 ) ))
/* Function prototypes */