new syscall stub support for ia64 libc

David Mosberger davidm@napali.hpl.hp.com
Thu Nov 13 02:38:00 GMT 2003


>>>>> On Wed, 12 Nov 2003 22:50:46 +0100, Jakub Jelinek <jakub@redhat.com> said:

  >> - sysdep.h includes tls.h - tls.h includes descr.h

  Jakub> 2x yes

  >> - descr.h includes lowlevellock.h

  Jakub> No.  lowlevellock.h doesn't need it, see what e.g. SPARC or
  Jakub> PPC are doing in lowlevellock.h.  Just a few inlines have to
  Jakub> be replaced with macros, that's all.

I see what you mean.  It's a bit icky to depend on the other
header-files including the pre-requisites of lowlevellock.h, but yes,
it makes the problem _much_ simpler to handle, so thanks for the tip.

Next stupid question: what's the purpose of librt?  I'm asking since
sysdep.h now says:

#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.
Will this inconsistency cause problems?

	--david



More information about the Libc-hacker mailing list