Last updated: [an error occurred while processing the directive][an error occurred while processing the directive]

Patches on my FreeBSD 7.x systems

Below are some of the patches that I apply to my FreeBSD 7.x systems.

arp Fix to arp's manual page and behaviour. PR docs/125896
kern.mk for amd64 nocona builds Fix disabling sse extensions for building a kernel on amd64, the same way it is done for i386 builds. This patch was committed to -current after filing PR kern/123518 but still not yet MFCd.
gcc strftime Allow for the use of "%+" even when -pedantic is turned on. This was once committed in FreeBSD 4.x, but not applied to gcc imports after that. PR gnu/26827

Patches on my FreeBSD 6.x systems

Below are some of the patches that I apply to my FreeBSD 6.x systems.

preadv()/pwritev() Add preadv() and pwritev() system calls. Very useful for multithreaded file access. Don't forget to run 'make syscalls.c' in /usr/src/sys/kern and 'make sysent' in /usr/src/sys/compat/freebsd32. N.B. This was committed Thu Jul 7 18:17:55 2005 UTC
gcc strftime Allow for the use of "%+" even when -pedantic is turned on. This was once committed in FreeBSD 4.x, but not applied to gcc imports after that. PR gnu/26827

Patches on my FreeBSD 5.x systems

Below are some of the patches that I apply to my FreeBSD 5.x systems.

gcc printf Allow for extra checking of arguments to __attribute__((printf)) like functions by checking the arguments before they are auto-promoted by varargs. This means checking "%hu" to be passed an unsigned short instead of that any expression promoted to an integer will do. Warning: this might generate a lot more warnings than you expect... You'll also need to include this inttypes.h instead of /usr/include/inttypes.h. Use "-Wformat-pre-promo" in addition to -Wformat to switch this on.
gcc strftime Allow for the use of "%+" even when -pedantic is turned on. This was once committed in FreeBSD 4.x, but not applied to gcc imports after that. PR gnu/26827
preadv()/pwritev() Add preadv() and pwritev() system calls. Very useful for multithreaded file access. Don't forget to run 'make syscalls.c' in /usr/src/sys/kern and 'make sysent' in /usr/src/sys/compat/freebsd32. N.B. This was MFC'd Thu Jul 14 19:08:22 2005 UTC
libc-localtime See the FreeBSD 4.x patch.

Patches on my FreeBSD 4.x systems

Below are some of the patches that I apply to my FreeBSD 4.x systems.

libc-localtime POSIX dictates that each call to one of the time funtions (e.g. localtime(), mktime()) should be seen as an implicit call to tzset(). tzset(), however, has to read the environment variable "TZ" each time it is called, because it might be changed since the last call. One of my programs that makes extensive use of localtime() and mktime() is thereby doomed to spend 80 percent of its time in getenv(). Since getenv() is not easily sped up, I chose to remove the implicitness fo that call. tzset() is then called only once and then "TZ" is not assumed to change. If it is changed, tzset() should be called by the program itself to have it take effect.
ansi headers ANSI-C does not allow empty structs.
crontab Crontab does not reflect errors in its exitcode
idprio Allow users to run stuff in the idle queue, although this allows users to cause deadlocks.
stdio.h I like it when my compiler warns when a non-pointer is compared to NULL.
pthread fork fix Make sure newly forked processes don't get stuck in malloc locks or receive scheduler interrupts before being able to exec().
pthread debugging Make sure backtraces work with libc_r pthreads.
sstream
and
stl_tree.h
Allow for full warning C++ compilations.

Miscellaneous


marcolz@stack.nl (Marc Olzheim)

<-Back to marcolz's homepage.