This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1c/9] Tilera (and Linux asm-generic) support for glibc


(Adding back in the cc's)

On 11/4/2011 6:33 PM, Joseph S. Myers wrote:
> On Fri, 4 Nov 2011, Chris Metcalf wrote:
>
>> diff --git a/sysdeps/unix/sysv/linux/tile/Versions b/sysdeps/unix/sysv/linux/tile/Versions
>> new file mode 100644
>> index 0000000..7ac96e2
>> --- /dev/null
>> +++ b/sysdeps/unix/sysv/linux/tile/Versions
>> @@ -0,0 +1,8 @@
>> +libc {
>> +  GLIBC_2.12 {
>> +    _flush_cache;
>> +    cacheflush;
>> +    set_dataplane;
>> +    __syscall_error;
> Similar comment to before applies that GLIBC_2.15 is better for things 
> being added in 2.15 (although if you make GLIBC_2.15 the minimum symbol 
> version, then GLIBC_2.12 in a Versions file will effectively act the same 
> as if you just wrote GLIBC_2.15 there).
>
> In addition, where is __syscall_error used in a macro in an installed 
> header or in libc_nonshared.a or crt*.o?  If it's only exported by glibc 
> for use by other shared libraries installed with glibc, it should be 
> GLIBC_PRIVATE; public versions are only for symbols that may legitimately 
> be referenced dynamically by user executables or shared libraries.

Yes, GLIBC_PRIVATE seems like it should be appropriate for
__syscall_error.  It's just used by librt.so, etc.

>> diff --git a/sysdeps/unix/sysv/linux/tile/bits/mman.h b/sysdeps/unix/sysv/linux/tile/bits/mman.h
> Why does this header need to be target-specific rather than in 
> sysdeps/unix/sysv/linux/generic (that is, what about it is different from 
> or additional to the generic mmap ABI)?

The actual mman.h bits are not the same as asm-generic/mman.h.  This is one
place where Tilera diverged from asm-generic, because we wanted to jam a
bunch of extra bits into the mmap() flags field.  In retrospect, it may not
have been the right thing to do (and we still haven't committed the
semantics of the "extra" bits back upstream to the Linux community), but I
suspect we're stuck with the values for the existing bits.

I'm expecting Linas or some other architecture maintainer to contribute
back the linux/generic/bits/mman.h file after the Tilera code is in.

>> diff --git a/sysdeps/unix/sysv/linux/tile/device-nrs.h b/sysdeps/unix/sysv/linux/tile/device-nrs.h
>> +/* We currently have a hacky environment variable test we also apply.  */
> This sounds like the sort of thing that should *not* get merged to 
> upstream sources.  What's the justification for having it, specific to one 
> architecture?  Using getenv in code that didn't otherwise is particularly 
> dangerous because it could affect thread-safety.

Yes, this was just an oversight.  This goes along with another change that
I suppressed from returning, but I missed suppressing this part of it.  It
will likely be obsoleted out of even our internal version in due course.

>> diff --git a/sysdeps/unix/sysv/linux/tile/nptl/not-cancel.h b/sysdeps/unix/sysv/linux/tile/nptl/not-cancel.h
> What is non-generic about this header?

Nothing, I think.  I'll move it over to "generic".

Thanks!

-- 
Chris Metcalf, Tilera Corp.
http://www.tilera.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]