[Mono-dev] [PATCH] Enable TLS for PPC32/64

Steven Munroe munroesj at us.ibm.com
Sun Jan 25 19:12:10 EST 2009


Mark Probst wrote:
> On Thu, 2009-01-22 at 09:03 -0600, Steven Munroe wrote:
>   
>> this patch completes the PPC64 port and enables Thread Local Storage
>> under Linux/NPTL. This patch also provides the infrastructure for
>> detecting PPC hardware attributes (via the SYSV Aux Vector) that we will
>> need to optimize JIT code. For example this patch fixes
>> mono_arch_flush_icache() used aux vector Hardware Capabilities
>> (AT_HWCAP) info to avoid unnecessary dcbf/icbi sequences.
>>     
>
> Thank you very much for this patch and all the legal difficulties that
> went with it.
>
> We don't commit patches this big in one swoop, so I had to split it up.
> The order in which they are meant to be applied is:
>
>   sm-codegen.diff
>   sm-beautify.diff
>   sm-small-fixes.diff
>   sm-hwcap.diff
>   sm-better-code.diff
>   sm-icache.diff
>   sm-tls.diff
>
> The changes in sm-superfluous.diff seem, well, superfluous to me :-)
>
> When contributing patches, please also use our coding style, especially
> regarding indentation and where to put spaces:
>
>   http://www.mono-project.com/Coding_Guidelines
>
> I've fixed all of that in your code as far as it caught my eye.
>
> Paolo: Please review the patches, especially the hwcap, icache and TLS
> stuff.  I can't say much about those, but everything else looks fine,
> and everything works (runtime and corlib regressions, tested on
> PPC64/linux and PPC32/darwin).
>
> Mark
>
>   
dang ... I spent most of my weekend reworking the patch on my own as you
suggested. Attached my version in case you want to use the change logs.

What you consider superfluous addresses an annoying bug where the
mkbundle generates code that can never be assembled and results in a 2GB
a.out file. This is a result of brain-dead code the than can't handle
biarch builds (where the build is for the non-default arch).

Has far I can tell mkbundle is disabled for PPC32 and has been for some
time ...


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ppc-part1-fix-20090124.txt
Url: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090125/c5575104/attachment-0005.txt 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ppc-part2-gen-20090124.txt
Url: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090125/c5575104/attachment-0006.txt 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ppc-part3-warn-20090124.txt
Url: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090125/c5575104/attachment-0007.txt 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ppc-part4-opt-20090124.txt
Url: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090125/c5575104/attachment-0008.txt 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ppc-part5-tls-20090124.txt
Url: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090125/c5575104/attachment-0009.txt 


More information about the Mono-devel-list mailing list