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/