#
7014c930 |
| 10-Dec-2012 |
martynas <martynas@openbsd.org> |
Fix unaligned memory loads on Alpha. GCC used to generate them in the following manner: ([reg:A & -8] << (64 - (((reg:FP+reg:B) & 0x7) << 3))) >> 56
This fails when we're doing loads with the offse
Fix unaligned memory loads on Alpha. GCC used to generate them in the following manner: ([reg:A & -8] << (64 - (((reg:FP+reg:B) & 0x7) << 3))) >> 56
This fails when we're doing loads with the offset from the frame pointer %8. Since it's aligned, optimizer makes it a zero. The correct expression is: ([reg:A & -8] << (56 - (((reg:FP+reg:B-1) & 0x7) << 3))) >> 56
This is actually a 13-year-old bug. Checked by Miod; a few files in the kernel were affected. Spotted with SSP for Alpha. OK miod@. Tested by naddy@.
show more ...
|
#
f462341c |
| 04-May-2010 |
naddy <naddy@openbsd.org> |
Merge from gcc3 our configuration for alpha, including these local changes:
* Do not force -msmall-data if -fpic and -mlarge-data if -fPIC. Instead, have both -fpic and -fPIC only select pic code ge
Merge from gcc3 our configuration for alpha, including these local changes:
* Do not force -msmall-data if -fpic and -mlarge-data if -fPIC. Instead, have both -fpic and -fPIC only select pic code generation, and use whatever memory mode is specified (with -mlarge-data being the implicit default).
* -Wstack-larger-than support.
* Disable stack frame checking in the prologue under OpenBSD, unless you compile with -fstack-check, for consistency with other platforms.
* -mno-ieee option to disable IEEE mode.
ok kettenis@
show more ...
|