This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCHv3] powerpc: ABI change - add HWCAP/HWCAP2/platform info to TCB
- From: Carlos Eduardo Seo <cseo at linux dot vnet dot ibm dot com>
- To: "Carlos O'Donell" <carlos at redhat dot com>
- Cc: munroesj at linux dot vnet dot ibm dot com, Peter Bergner <bergner at vnet dot ibm dot com>, Roland McGrath <roland at hack dot frob dot com>, Joseph Myers <joseph at codesourcery dot com>, GNU C Library <libc-alpha at sourceware dot org>, Tulio Machado <tuliom at linux dot vnet dot ibm dot com>, "Steven J. Munroe" <sjmunroe at us dot ibm dot com>
- Date: Fri, 9 Oct 2015 17:14:19 -0300
- Subject: Re: [PATCHv3] powerpc: ABI change - add HWCAP/HWCAP2/platform info to TCB
- Authentication-results: sourceware.org; auth=none
- References: <4BE991CB-F601-4D63-A416-5991FE870FC4 at linux dot vnet dot ibm dot com> <alpine dot DEB dot 2 dot 10 dot 1509232114070 dot 10585 at digraph dot polyomino dot org dot uk> <B650304C-6207-46AC-B6A8-FA29959B305D at linux dot vnet dot ibm dot com> <alpine dot DEB dot 2 dot 10 dot 1509232141250 dot 10585 at digraph dot polyomino dot org dot uk> <1443046986 dot 23503 dot 68 dot camel at otta> <alpine dot DEB dot 2 dot 10 dot 1509232234500 dot 10585 at digraph dot polyomino dot org dot uk> <1443050731 dot 23503 dot 78 dot camel at otta> <alpine dot DEB dot 2 dot 10 dot 1509232340470 dot 10585 at digraph dot polyomino dot org dot uk> <1443057751 dot 13186 dot 6 dot camel at otta> <alpine dot DEB dot 2 dot 10 dot 1509240126140 dot 10585 at digraph dot polyomino dot org dot uk> <1443058522 dot 13186 dot 9 dot camel at otta> <1443654009 dot 4885 dot 4 dot camel at oc7878010663> <B2EB15A6-FEB5-4DBA-8719-0BAA5B65EF5E at linux dot vnet dot ibm dot com> <5615CD5D dot 1080409 at redhat dot com> <1444318222 dot 12222 dot 8 dot camel at oc7878010663> <56181C45 dot 70003 at redhat dot com>
> On Oct 9, 2015, at 4:57 PM, Carlos O'Donell <carlos@redhat.com> wrote:
>
> That's up to you to prove by looking at the places where you've added
> the initialization sequences. My guess is that you're probably good because
> all of these sequences are run before main and before any thread is created
> and before any CTORs are run. I'd like you to verify that though.
>
> In which case the next steps are:
> - Remove ppc.h functions.
> - Verify all init is done before CTORs
> - Post smaller v4 patch.
I believe weâre good because the data we need in the TCB must be initialized before the first call to TLS_INIT_TP. That means:
- in _dl_sysdep_start for the dynamic linking case
- in __libc_start_main for the static linking case
This should guarantee that the TCB is initialized with the data we need before main, or any other thread, or CTORs are run.
Regards,
--
Carlos Eduardo Seo
Software Engineer - Linux on Power Toolchain
cseo@linux.vnet.ibm.com