Re: removing bcopy... because it's half broken

From: Matthias-Christian Ott
Date: Mon Jan 10 2005 - 12:01:21 EST


Adrian Bunk wrote:

On Sun, Jan 09, 2005 at 12:19:09PM -0800, Linus Torvalds wrote:


On Sun, 9 Jan 2005, Arjan van de Ven wrote:


Instead of fixing this inconsistency, I decided to remove it entirely,
explicit memcpy() and memmove() are prefered anyway (welcome to the 1990's)
and nothing in the kernel is using these functions, so this saves code size
as well for everyone.


The problem is that at least some gcc versions would historically generate
calls to "bcopy" on alpha for structure assignments. Maybe it doesn't any
more, and no such old gcc versions exist any more, but who knows?
...



include/asm-alpha/string.h says:

/*
* GCC of any recent vintage doesn't do stupid things with bcopy.
* EGCS 1.1 knows all about expanding memcpy inline, others don't.
*
* Similarly for a memset with data = 0.
*/


And Arjan's patch is pretty low-risk:

If it breaks on any architecture with any supported compiler (>= 2.95), it will break at compile time and there will pretty fast be reports of this breakage in which case it would be easy to revert his patch.




Linus



cu
Adrian



Jep and most people are using a newer gcc and newer glibc. Linux has to stay up2date, so I think it's the best choise to create a modern and clean (without broken functions) OS.

Matthias-Christian Ott
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/