You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
185 lines
5.2 KiB
185 lines
5.2 KiB
Build Notes for POSIX Test Suite
|
|
================================
|
|
Last update : 2010-07-10 updated for LTP-head (based off of posixtestsuite 1.40)
|
|
|
|
The POSIX Test Suite should be able to be run independently of any given
|
|
OS, so the OS-specific steps for configuring the POSIX Test Suite to run
|
|
are currently manual.
|
|
|
|
IN GENERAL
|
|
==========
|
|
In general, when calling *make:
|
|
- If you need to pass in any header locations, preprocessor definitions, etc,
|
|
set the value via CFLAGS.
|
|
- If you need to pass in any libraries for linking, set the value via LDLIBS.
|
|
- If you need to pass any other values to the linker, set the value via LDFLAGS.
|
|
- Each subdirectory optionally contains one of the above files to denote the
|
|
fact that it needs special linker flags, preprocessor defines, etc. This is
|
|
done in this fashion to ensure that the requirements for each subdirectory is
|
|
correctly tuned in a deterministic manner.
|
|
|
|
FREEBSD
|
|
=======
|
|
|
|
================
|
|
Asynchronous I/O
|
|
================
|
|
Realtime asynchronous I/O has been available in FreeBSD since 5.x. Please add:
|
|
|
|
options VFS_AIO
|
|
|
|
to your kernel conf or build, install, and load the aio module.
|
|
|
|
================
|
|
Message Queues
|
|
================
|
|
POSIX message queues have been available in FreeBSD since 6.x. Please add:
|
|
|
|
options P1003_1B_MQUEUE
|
|
|
|
to your kernel conf or build and install the mqueue module, and load it with:
|
|
|
|
kldload mqueuefs
|
|
|
|
================
|
|
Realtime Support
|
|
================
|
|
Realtime support has been available for a long time (I think 3.x). Please add:
|
|
|
|
options _KPOSIX_PRIORITY_SCHEDULING
|
|
|
|
to your kernel conf. There isn't a corresponding module for this feature.
|
|
|
|
================
|
|
Semaphores
|
|
================
|
|
POSIX semaphores have been available in FreeBSD since 5.x. Please add:
|
|
|
|
options P1003_1B_SEMAPHORES
|
|
|
|
to your kernel conf or build, install, and load the sem module.
|
|
|
|
LINUX
|
|
=====
|
|
Notes for running POSIX Test Suite against Linux implementations of
|
|
POSIX functionality. (Note: If these implementations are accepted into
|
|
the kernel, then the manual intervention will no longer apply, and we will
|
|
update this document.)
|
|
|
|
Please refer to your linux distribution's manual for the kernel and
|
|
library information.
|
|
|
|
Notes for each test section are here. It is targeted for general linux
|
|
kernel 2.6 and glibc-2.3.3.
|
|
|
|
=======
|
|
Threads
|
|
=======
|
|
|
|
LinuxThreads
|
|
-------------
|
|
If LinuxThreads is the default POSIX thread implementation,
|
|
to build against LinuxThreads, add '-lpthread' to LDLIBS.
|
|
|
|
NPTL
|
|
----
|
|
If NPTL is the default POSIX thread implementation, add '-lpthread' to LDLIBS.
|
|
|
|
Otherwise, to build against NPTL, export the following variable:
|
|
|
|
export GLIBCDIR=/path/to/NPTL/libc-build
|
|
|
|
Then in LDFLAGS, add the following lines:
|
|
|
|
$GLIBCDIR/nptl/libpthread.so.0 $GLIBCDIR/libc.so.6 -Wl,-rpath,$GLIBCDIR:$GLIBCDIR/nptl:$GLIBCDIR/elf,-dynamic-linker,$GLIBCDIR/elf/ld-linux.so.2
|
|
|
|
NGPT
|
|
----
|
|
To build against NGPT, export the following variables:
|
|
|
|
export LD_PRELOAD=libpthread.so.0
|
|
export LD_LIBRARY_PATH="/usr/lib:/lib:$LD_LIBRARY_PATH"
|
|
|
|
Then make sure to add '-lpthread' to LDLIBS.
|
|
|
|
==============
|
|
Message Queues
|
|
==============
|
|
POSIX Message Queue (Wronski/Benedyczak's implementation) has been
|
|
included into linux kernel since 2.6.4-rc1-mm1.
|
|
But you still need to install a user library at the time of writing this
|
|
document.
|
|
|
|
posix1b
|
|
-------
|
|
To build against the posix1b message queues, see the semaphores information for posix1b.
|
|
Also, add -I/usr/include/posix1b/ to CPPFLAGS.
|
|
|
|
Wronski/Benedyczak
|
|
------------------
|
|
To build against the Michal Wronski/Krzysztof Benedyczak message queues,
|
|
install the kernel patches from http://www.mat.uni.torun.pl/~wrona/posix_ipc/
|
|
and then build the user library from the same site. Add '-lmqueue' to
|
|
LDLIBS to run tests.
|
|
To create the message queue file system, do:
|
|
# mkdir /dev/mqueue
|
|
# mount -t mqueue none /dev/mqueue
|
|
|
|
==========
|
|
Semaphores
|
|
==========
|
|
NPTL
|
|
----
|
|
If NPTL is installed as default POSIX thread library, set '-lpthread -lrt' in
|
|
LDLIBS.
|
|
|
|
Otherwise, to build against NPTL, export the following variable:
|
|
|
|
export GLIBCDIR=/path/to/NPTL/libc-build
|
|
|
|
Then set the following to LDFLAGS:
|
|
|
|
$GLIBCDIR/nptl/libpthread.so.0 $GLIBCDIR/libc.so.6 -Wl,-rpath,$GLIBCDIR:$GLIBCDIR/nptl:$GLIBCDIR/elf,-dynamic-linker,$GLIBCDIR/elf/ld-linux.so.2
|
|
|
|
|
|
posix1b
|
|
-------
|
|
To run the semaphore test suite against posix1b, you will need to download
|
|
and install the posix1b library.
|
|
|
|
Start downloading it from: http://www.garret.ru/~knizhnik/posix1b.tar.gz
|
|
Once you have the library compiled and installed in /usr/lib.
|
|
Add '-lposix1b' to LDLIBS:
|
|
|
|
Make sure /usr/lib/ is in your PATH.
|
|
|
|
=======
|
|
Signals
|
|
=======
|
|
|
|
For the signals-related interfaces that start with "pthread_", refer to
|
|
the Threads section above to learn how to build those particular tests.
|
|
|
|
Also, please note that if you using version of gcc older than version 3.2-7,
|
|
you may run into lots of build and link errors. Please use gcc version 3.2-7
|
|
or newer.
|
|
|
|
=====
|
|
XCOFF
|
|
=====
|
|
|
|
Since the XCOFF main is called .main, the line:
|
|
64 nm -g --defined-only $< | grep -q " T main" || exit 0; \
|
|
|
|
needs to replace main with .main to get these tests to compile.
|
|
|
|
Maintainers: Julie Fleischer
|
|
Rolla Selbak
|
|
Salwan Searty
|
|
Majid Awad
|
|
Crystal Xiong
|
|
Adam Li
|
|
Contributors: Jerome Marchand
|
|
Ulrich Drepper
|
|
Ngie Cooper
|