musl/arch
Rich Felker 9f26ebded1 fix stack alignment code in mips crt_arch.h
the instruction used to align the stack, "and $sp, $sp, -8", does not
actually exist; it's expanded to 2 instructions using the 'at'
(assembler temporary) register, and thus cannot be used in a branch
delay slot. since alignment mod 16 commutes with subtracting 8, simply
swapping these two operations fixes the problem.

crt1.o was not affected because it's still being generated from a
dedicated asm source file. dlstart.lo was not affected because the
stack pointer it receives is already aligned by the kernel. but
Scrt1.o was affected in cases where the dynamic linker gave it a
misaligned stack pointer.
2015-05-24 23:03:47 -04:00
..
aarch64 add .text section directive to all crt_arch.h files missing it 2015-05-22 01:50:05 -04:00
arm add .text section directive to all crt_arch.h files missing it 2015-05-22 01:50:05 -04:00
i386 fix inconsistency in a_and and a_or argument types on x86[_64] 2015-05-20 00:17:35 -04:00
microblaze add .text section directive to all crt_arch.h files missing it 2015-05-22 01:50:05 -04:00
mips fix stack alignment code in mips crt_arch.h 2015-05-24 23:03:47 -04:00
or1k add .text section directive to all crt_arch.h files missing it 2015-05-22 01:50:05 -04:00
powerpc add .text section directive to all crt_arch.h files missing it 2015-05-22 01:50:05 -04:00
sh add .text section directive to all crt_arch.h files missing it 2015-05-22 01:50:05 -04:00
x32 fix inconsistency in a_and and a_or argument types on x86[_64] 2015-05-20 00:17:35 -04:00
x86_64 fix inconsistency in a_and and a_or argument types on x86[_64] 2015-05-20 00:17:35 -04:00