CVSROOT: /cvs
Module name: ports
Changes by: [email protected] 2011/12/03 08:54:05
Modified files:
lang/gcc/4.2 : Makefile
lang/gcc/4.2/patches: patch-gcc_config_alpha_openbsd_h
Added files:
lang/gcc/4.2/patches: patch-gcc_builtins_c
patch-gcc_config_alpha_alpha_h
Log message:
Merge in fixes for alpha from base (miod@):
builtins.c:
Allow MD backend to prevent the optimization of a bcopy() or memmove() of
size 1 (the size being known at compile-time) into an inline mempcpy()
expansion, which will in turn expand into a byte load and store operation.
This expansion loses precious address alignment information at some point
(because everybody knows that you can read a byte from any address, right?),
and this loses bigtime on strict alignment platforms which lack the ability
to accesse bytes directly, such as alpha (unless compiling with -mbwx and
runnning on a BWX-capable cpu).
config/alpha:
Require alignment of local arrays on word boundaries, and enable
the builtins.c `one-byte memcpy' workaround.
ok espie@