Go to file
Lorenzo Cavallaro 8dfc7699a6 cdecl calling convention requires to push arguments on the stack in a
reverse order to easily support variadic arguments. Thus, instead of
using the proper stdarg.h macros (that nowadays are
compiler-dependent), it may be tempting to directly take the address of
the last argument and considering it as the start of an array. This is
a shortcut that avoid looping to get all the arguments as the CPU
already pushed them on the stack before the call to the function.

Unfortunately, such an assumption is strictly compiler-dependent and
compilers are free to move the last argument on the stack, as a local
variable, and return the address of the location where the argument was
stored, if asked for. This will break things as the rest of the array's
argument are stored elsewhere (typically, a couple of words above the
location where the argument was stored).

This patch fixes the issue by allowing ACK to take the shortcut and
enabling gcc/llvm-gcc to follow the right way.
2010-03-30 09:36:46 +00:00
benchmarks only check local benchmark dir if it exists 2010-02-04 18:15:10 +00:00
boot Lots of const correctness. 2010-03-27 14:31:00 +00:00
commands Lots of const correctness. 2010-03-27 14:31:00 +00:00
docs Minor docs/UPDATING fix 2010-03-24 13:41:38 +00:00
drivers More const correctness. 2010-03-23 14:25:09 +00:00
etc Fix crtso building with GCC 2010-03-24 10:11:17 +00:00
include cdecl calling convention requires to push arguments on the stack in a 2010-03-30 09:36:46 +00:00
kernel Fixed brackets in bitmap macros 2010-03-30 08:34:33 +00:00
lib cdecl calling convention requires to push arguments on the stack in a 2010-03-30 09:36:46 +00:00
man New RS and new signal handling for system processes. 2010-03-17 01:15:29 +00:00
servers fix null deref; vmnt->mounted_on is NULL legitimately for root. 2010-03-29 11:39:54 +00:00
test New RS and new signal handling for system processes. 2010-03-17 01:15:29 +00:00
tools Prioritized NOTIFY messages for reliable asynchonrous delivery of system events. 2010-03-22 23:44:55 +00:00
LICENSE Fix parameter parsing in cut 2010-01-21 10:16:05 +00:00
Makefile Convert drivers/ and servers/ over to bsdmake 2010-03-22 21:25:22 +00:00