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: __builtin_* expansion to outcalls vs name space issues


On Tue, Feb 05, 2013 at 05:01:21PM -0800, Roland McGrath wrote:
> > On Tue, 5 Feb 2013, Roland McGrath wrote:
> > 
> > > What should be the expectation of responsibility here?  On the one hand,
> > > it seems vaguely reasonable that __builtin_foobar degenerates to calling
> > > foobar.
> > 
> > Yes, that's expected.  (There is however a known GCC bug where calls may 
> > be generated to functions that aren't reserved and without a corresponding 
> > __builtin_* call: <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46926>.  
> > But it's always expected that not all __builtin_* calls are expanded 
> > inline.)
> 
> Certainly it's expected that not all __builtin_* calls are expanded to
> instructions not involving a call.  That's a separate issue from whether
> any calls the compiler generates implicitly in any fashion ought to be
> using symbols outside the most constrained name space.
> 
> If any call to __builtin_foobar can be expected sometimes to generate a
> call to foobar, then what's the point of having the __builtin_foobar names
> in the first place?
> 
> > > So, are we wrong for using __builtin_mempcpy in a place where a call to
> > > mempcpy is not kosher?
> > 
> > Yes.  Declaring mempcpy with __asm__ ("__mempcpy") should cause 
> > __builtin_mempcpy to generate a call to __mempcpy.
> 
> I cannot figure out how to make that happen.  Can you post a patch that
> accomplishes this?
>
I had redirect mempcpy to memcpy in my todo list. I will produce patch
in while.

Ondra


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