new syscall stub support for ia64 libc
David Mosberger
davidm@napali.hpl.hp.com
Thu Nov 13 03:53:00 GMT 2003
>>>>> On Wed, 12 Nov 2003 19:38:38 -0800, Ulrich Drepper <drepper@redhat.com> said:
>> Next stupid question: what's the purpose of librt? I'm asking since
>> sysdep.h now says:
Uli> It's just another POSIX-defined library. It needs some special
Uli> treatment since it also can contain system calls.
Ah, thanks.
>> #if defined USE_DL_SYSINFO \
>> && (!defined NOT_IN_libc || defined IS_IN_libpthread)
>> # define IA64_USE_NEW_STUB
>> #else
>> # undef IA64_USE_NEW_STUB
>> #endif
>> and in <sysdep-cancel.h>, it says:
>> #if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt
>> # undef PSEUDO
>> # define PSEUDO(name, syscall_name, args) \
>> :
>> <code that uses the IA64_USE_NEW_STUB convention>
>> :
>> That is, anything in librt that uses the PSEUDO() macro from
>> sysdep-cancel.h will try to uses the new stub, but nothing else will.
Uli> I don't understand. The code you quotes shows that the new stub is used
Uli> for libc and libpthread so far.
My example wasn't very clear: the new definition of PSEUDO() uses open
code for using the new-stub convention, so I can get a better
schedule.
Uli> The cancellation handling is in addition also used for librt.
Uli> The two are independent, but you should add || defined
Uli> IS_IN_librt to the code in the ia64 header.
OK, if I can turn on IA64_USE_NEW_STUB for IS_IN_librt in sysdep.h
then all is fine.
Thanks,
--david
More information about the Libc-hacker
mailing list