minix/lib
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
..
ack Improve makefile logic for building programs/libs 2010-02-24 11:58:05 +00:00
csu Include directory reorg and makefile updates. 2010-03-08 11:04:59 +00:00
libc cdecl calling convention requires to push arguments on the stack in a 2010-03-30 09:36:46 +00:00
libcurses Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
libdriver Convert drivers/ and servers/ over to bsdmake 2010-03-22 21:25:22 +00:00
libedit Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
libend Convert library asm files to GAS syntax 2010-03-03 14:27:30 +00:00
libm Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
libsys Userspace scheduling 2010-03-29 11:07:20 +00:00
libtimers Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
libutil Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
ack_build.sh Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
gnu_build.sh Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
Makefile Convert drivers/ and servers/ over to bsdmake 2010-03-22 21:25:22 +00:00
README Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00

ack_build.sh - for ACK library building
gnu_build.sh - for GNU library building

ack_build.sh obj     - create objdirs for gnu libraries
ack_build.sh depend  - find dependencies of ack libraries
ack_build.sh all     - compile ack libraries
ack_build.sh install - compile and install ack libraries
ack_build.sh clean   - clean for ack libraries

gnu_build.sh obj     - create objdirs for gnu libraries
gnu_build.sh depend  - find dependencies of gnu libraries
gnu_build.sh all     - compile gnu libraries
gnu_build.sh install - compile and install gnu libraries
gnu_build.sh clean   - clean for gnu libraries