strcpy returns NULL pointer and not destination pointer

From: Bob Picco <bob.picco_at_hp.com>
Date: 2006-05-03 23:38:06
Hi Ken:

I'm assuming you can speak to this because your email address is in
memcpy_mck.S.

The removal of -ffreestanding compiler flag in 2.6.17-rcX (commit id
6edfba1b33c701108717f4e036320fc39abe1912) causes strcpy calls 
with a known size for the source string to be replaced with memcpy which
is faster.  ia64 memcpy has return values which are unlike stdlibc and
the other arch memcpy routines examined by me in the kernel.  The ia64 return
values are 0 for success and number of bytes copied for failure. Thus any
instance of pointer = strcpy(dest, "some string") has zero assigned to
pointer.  I detected this when testing kgdb on 2.6.17-rc3.  

The implementation in memcpy_mck.S doesn't leave a single scratch
register or predicate. I didn't pursue very long for a solution.

thanks,

bob
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Wed May 03 23:38:43 2006

This archive was generated by hypermail 2.1.8 : 2006-05-03 23:38:52 EST