Don't cache pcpui in sys_fork()
[akaros.git] / kern / linker_tables.ld
index aed648b..f0bef9b 100644 (file)
@@ -6,41 +6,41 @@
        . = ALIGN(64);
        /* We shouldn't have to use PROVIDE, but if we don't, we get the wrong
         * value for '.'.  And items with empty tables get the KLA (basically 0) */
-       PROVIDE(__devtabstart = .);
-       PROVIDE(devtab = .);
        .devtab : {
+               PROVIDE(__devtabstart = .);
+               PROVIDE(devtab = .);
                *(.devtab)
+               PROVIDE(__devtabend = .);
        }
-       PROVIDE(__devtabend = .);
 
        /* Not sure if these need to be aligned to 64 bytes or not.  We had to
         * change the alignment above for the devtab, so we just changed it here
         * too, but it's unclear if this is 100% necessary.  In any event, it
         * doesn't hurt anything, it just wastes some bytes in our binary. */
        . = ALIGN(64);
-       PROVIDE(__linkerfunc1start = .);
        .linkerfunc1 : {
+               PROVIDE(__linkerfunc1start = .);
                *(.linkerfunc1)
+               PROVIDE(__linkerfunc1end = .);
        }
-       PROVIDE(__linkerfunc1end = .);
 
        . = ALIGN(64);
-       PROVIDE(__linkerfunc2start = .);
        .linkerfunc2 : {
+               PROVIDE(__linkerfunc2start = .);
                *(.linkerfunc2)
+               PROVIDE(__linkerfunc2end = .);
        }
-       PROVIDE(__linkerfunc2end = .);
 
        . = ALIGN(64);
-       PROVIDE(__linkerfunc3start = .);
        .linkerfunc3 : {
+               PROVIDE(__linkerfunc3start = .);
                *(.linkerfunc3)
+               PROVIDE(__linkerfunc3end = .);
        }
-       PROVIDE(__linkerfunc3end = .);
 
        . = ALIGN(64);
-       PROVIDE(__linkerfunc4start = .);
        .linkerfunc4 : {
+               PROVIDE(__linkerfunc4start = .);
                *(.linkerfunc4)
+               PROVIDE(__linkerfunc4end = .);
        }
-       PROVIDE(__linkerfunc4end = .);