Linker tables for automatic structures
[akaros.git] / kern / linker_tables.ld
1 /* this is INCLUDEd into the arch-specific ld scripts */
2
3         /* Linker-made tables.  Our tables (e.g. devtab) are 2^5 aligned,
4          * independently of us aligning '.'.  We align '.' to get the right start,
5          * e.g.  __devtabstart. */
6         . = ALIGN(32);
7         /* We shouldn't have to use PROVIDE, but if we don't, we get the wrong
8          * value for '.'.  And items with empty tables get the KLA (basically 0) */
9         PROVIDE(__devtabstart = .);
10         .devtab : {
11                 *(.devtab)
12         }
13         PROVIDE(__devtabend = .);
14
15         . = ALIGN(32);
16         PROVIDE(__devlinkstart = .);
17         .devlink : {
18                 *(.devlink)
19         }
20         PROVIDE(__devlinkend = .);
21
22         . = ALIGN(32);
23         PROVIDE(__etherlinkstart = .);
24         .etherlink : {
25                 *(.etherlink)
26         }
27         PROVIDE(__etherlinkend = .);
28
29         . = ALIGN(32);
30         PROVIDE(__mediastart = .);
31         .media : {
32                 *(.media)
33         }
34         PROVIDE(__mediaend = .);