ksh/ksh93-compat.dif
2014-07-08 14:22:03 +00:00

86 lines
2.5 KiB
Plaintext

--- src/lib/libast/astsa/ast.h
+++ src/lib/libast/astsa/ast.h 2014-02-17 16:21:31.627048693 +0000
@@ -100,6 +100,12 @@ typedef struct
#define pointerof(x) ((void*)((char*)0+(x)))
#define roundof(x,y) (((x)+(y)-1)&~((y)-1))
+#ifdef __GNUC__
+#if (__GNUC__ >= 4) && !defined(offsetof)
+#define offsetof(type,member) __builtin_offsetof(type,member)
+#endif
+#endif
+
#ifndef offsetof
#define offsetof(type,member) ((unsigned long)&(((type*)0)->member))
#endif
--- src/lib/libast/features/libpath.sh
+++ src/lib/libast/features/libpath.sh 2014-02-18 11:00:22.655840483 +0000
@@ -21,8 +21,8 @@
########################################################################
ok=0
for i in \
- -x /lib/ld.so /lib/ld-*.so /usr/lib/ld.so /lib/rld \
- -f /usr/shlib/libc.so /shlib/libc.so /usr/lib/libc.so \
+ -x /lib64/ld.so /lib/ld.so /lib64/ld-*.so /lib/ld-*.so /usr/lib/ld.so /lib/rld \
+ -f /usr/shlib/libc.so /shlib/libc.so /usr/lib/libc.so /usr/lib64/libc.so \
-r /usr/shlib/libc.so /shlib/libc.so \
-x /lib*/*ld*.so*
do case $i in
--- src/lib/libast/features/map.c
+++ src/lib/libast/features/map.c 2014-02-17 16:21:31.627048693 +0000
@@ -67,10 +67,14 @@ main()
#define _map_malloc 1
printf("\n");
printf("#define _map_libc 1\n");
+#endif
+#if _map_libc || defined(__linux__)
printf("#undef basename\n");
printf("#define basename _ast_basename\n");
printf("#undef dirname\n");
printf("#define dirname _ast_dirname\n");
+#endif
+#if _map_libc
#if !_lib_eaccess
printf("#undef eaccess\n");
printf("#define eaccess _ast_eaccess\n");
--- src/lib/libast/features/sys
+++ src/lib/libast/features/sys 2014-02-17 16:21:31.627048693 +0000
@@ -139,7 +139,7 @@ tst typ_signed_size_t output{
}
}end
-define offsetof (type,member) ((size_t)&(((type*)0)->member))
+define offsetof (type,member) __builtin_offsetof(type,member)
define EXIT_FAILURE 1
define EXIT_SUCCESS 0
define MB_CUR_MAX 1
--- src/lib/libdll/features/dll
+++ src/lib/libdll/features/dll 2014-02-17 16:21:31.627048693 +0000
@@ -15,7 +15,7 @@ tst dll_DYNAMIC link{
}end
tst run{
lib=
- for d in /shlib /usr/shlib /lib /usr/lib
+ for d in /lib64 /usr/lib64 /lib /usr/lib
do if test -d $d
then for s in "*.*" "*[!a]*"
do for b in libc
@@ -52,7 +52,7 @@ tst run{
"") lib=/lib/libc.so.1 ;;
esac
case $lib in
- /usr/lib/*)
+ /usr/lib64/*|/usr/lib/*)
case `package` in
sgi.mips3)
abi=/lib32
@@ -65,7 +65,7 @@ tst run{
esac
case $abi in
?*) if test -d $abi
- then lib=`echo $lib | sed 's,/usr/lib/,,'`
+ then lib=`echo $lib | sed 's,/usr/lib\(64\)\?/,,'`
lib=$abi/$lib
fi
;;