/* this is INCLUDEd into the arch-specific ld scripts */ /* Linker-made tables. Our tables (e.g. devtab) are 2^6 aligned, * independently of us aligning '.'. We align '.' to get the right start, * e.g. __devtabstart. */ . = 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 : { *(.devtab) } 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 : { *(.linkerfunc1) } PROVIDE(__linkerfunc1end = .); . = ALIGN(64); PROVIDE(__linkerfunc2start = .); .linkerfunc2 : { *(.linkerfunc2) } PROVIDE(__linkerfunc2end = .); . = ALIGN(64); PROVIDE(__linkerfunc3start = .); .linkerfunc3 : { *(.linkerfunc3) } PROVIDE(__linkerfunc3end = .); . = ALIGN(64); PROVIDE(__linkerfunc4start = .); .linkerfunc4 : { *(.linkerfunc4) } PROVIDE(__linkerfunc4end = .);