[Skiboot] [PATCH] Align TOC to 256 bytes

Benjamin Herrenschmidt benh at kernel.crashing.org
Fri May 15 07:28:18 AEST 2015


On Thu, 2015-05-14 at 06:37 -0600, Patrick Williams III wrote:
> Ben,
> 
> 
> For my own understanding:
> 
> 
> * What part of the toolchain is forcing the TOC to 256 alignment?
> * Is the alignment on the beginning of the TOC section or the TOC-base
> part of the function pointer tuples  (ABIv1) ?

Anton, I just copied your cset over here, do you know the answers to
Patrick questions ?

Cheers,
Ben.

> Patrick Williams
> Power Firmware Development, 
> Bldg 045-2/C034
> 512-286-6369, T/L: 363-6369
> iawillia at us.ibm.com
> 
> 
> 
> -----"Skiboot" <skiboot-bounces+iawillia=us.ibm.com at lists.ozlabs.org>
> wrote: -----
> To: skiboot at lists.ozlabs.org
> From: Benjamin Herrenschmidt 
> Sent by: "Skiboot" 
> Date: 05/14/2015 12:25AM
> Subject: [Skiboot] [PATCH] Align TOC to 256 bytes
> 
> Anton sent a similar patch to Linus, here is his comment:
> 
> <<
> Recent toolchains force the TOC to be 256 byte aligned. We need
> to enforce this alignment in our linker script, otherwise pointers
> to our TOC variables (...) could be incorrect.
> >>
> 
> Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> 
> diff --git a/skiboot.lds.S b/skiboot.lds.S
> index a54ff5f..d5e493a 100644
> --- a/skiboot.lds.S
> +++ b/skiboot.lds.S
> @@ -82,7 +82,7 @@ SECTIONS
>   *(.opd)
>   }
>    
> - . = ALIGN(0x10);
> + . = ALIGN(0x100);
>   .got : {
>   __toc_start = . + 0x8000;
>   *(.got)
> 
> 
> _______________________________________________
> Skiboot mailing list
> Skiboot at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/skiboot
> 




More information about the Skiboot mailing list