This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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] Fix missing err declaration in __pthread_initialize_minimal_internal


On Sat, 2015-05-23 at 23:04 -0400, Carlos O'Donell wrote:

> Why isn't this inside the inner ifdef?
> 
> >  #ifdef __NR_set_robust_list
> >    pd->robust_head.futex_offset = (offsetof (pthread_mutex_t, __data.__lock)
> >  				  - offsetof (pthread_mutex_t,
> 
> As Florian mentioned to Raj, the definition of the err decl should
> be in the same scope as the syscall that uses it.
> 
> Did I miss something?
> 
> Cheers,
> Carlos.

This patch is no longer needed due to Roland's patch but the reason I
didn't put INTERNAL_SYSCALL_DECL in the same scope as INTERNAL_SYSCALL
was because there was multiple INTERNAL_SYSCALL calls in
__pthread_initialize_minimal_internal and I wanted one
INTERNAL_SYSCALL_DECL to cover them all.  That was basically what we had
before.  I guess the right way (and what Roland checked in) is to have
one INTERNAL_SYSCALL_DECL for each scope with an INTERNAL_SYSCALL and if
you have two INTERNAL_SYSCALL's in different ifdefs but in the same C
scope then use brackets to make different scopes so you can have a
INTERNAL_SYSCALL_DECL with each INTERNAL_SYSCALL.

I.e. do not do this:

INTERNAL_SYSCALL_DECL
#if A
INTERNAL_SYSCALL()
#endif
#if B
INTERNAL_SYSCALL()
#endif


but instead do this:


#if A
{
  INTERNAL_SYSCALL_DECL
  INTERNAL_SYSCALL()
}
#endif
#if B
{
  INTERNAL_SYSCALL_DECL
  INTERNAL_SYSCALL()
}
#endif


Steve Ellcey
sellcey@imgtec.com
  


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