summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr/src/head/fts.h16
-rw-r--r--usr/src/lib/libc/i386/Makefile.com1
-rw-r--r--usr/src/lib/libc/port/gen/fts.c13
-rw-r--r--usr/src/lib/libc/port/mapfile-vers11
-rw-r--r--usr/src/lib/libc/sparc/Makefile.com1
5 files changed, 42 insertions, 0 deletions
diff --git a/usr/src/head/fts.h b/usr/src/head/fts.h
index dc84d88183..0aad84a8b6 100644
--- a/usr/src/head/fts.h
+++ b/usr/src/head/fts.h
@@ -112,6 +112,22 @@ typedef struct _ftsent {
char fts_name[1]; /* file name */
} FTSENT;
+#if !defined(_LP64) && _FILE_OFFSET_BITS == 64
+#ifdef __PRAGMA_REDEFINE_EXTNAME
+#pragma redefine_extname fts_children fts_children64
+#pragma redefine_extname fts_close fts_close64
+#pragma redefine_extname fts_open fts_open64
+#pragma redefine_extname fts_read fts_read64
+#pragma redefine_extname fts_set fts_set64
+#else
+#define fts_children fts_children64
+#define fts_close fts_close64
+#define fts_open fts_open64
+#define fts_read fts_read64
+#define fts_set fts_set64
+#endif /* __PRAGMA_REDEFINE_EXTNAME */
+#endif /* !_LP64 && _FILE_OFFSET_BITS == 64 */
+
FTSENT *fts_children(FTS *, int);
int fts_close(FTS *);
FTS *fts_open(char * const *, int,
diff --git a/usr/src/lib/libc/i386/Makefile.com b/usr/src/lib/libc/i386/Makefile.com
index 4d43ab4a99..244f5e6470 100644
--- a/usr/src/lib/libc/i386/Makefile.com
+++ b/usr/src/lib/libc/i386/Makefile.com
@@ -339,6 +339,7 @@ SYSOBJS= \
PORTGEN64= \
_xftw64.o \
attropen64.o \
+ fts64.o \
ftw64.o \
mkstemp64.o \
nftw64.o \
diff --git a/usr/src/lib/libc/port/gen/fts.c b/usr/src/lib/libc/port/gen/fts.c
index 7cdd4e984b..17a955c1e9 100644
--- a/usr/src/lib/libc/port/gen/fts.c
+++ b/usr/src/lib/libc/port/gen/fts.c
@@ -38,6 +38,19 @@
#include <string.h>
#include <unistd.h>
+#if !defined(_LP64) && _FILE_OFFSET_BITS == 64
+#define fts_alloc fts_alloc64
+#define fts_build fts_build64
+#define fts_lfree fts_lfree64
+#define fts_load fts_load64
+#define fts_maxarglen fts_maxarglen64
+#define fts_padjust fts_padjust64
+#define fts_palloc fts_palloc64
+#define fts_sort fts_sort64
+#define fts_stat fts_stat64
+#define fts_safe_changedir fts_safe_changedir64
+#endif
+
#define MAXIMUM(a, b) (((a) > (b)) ? (a) : (b))
#define ALIGNBYTES _POINTER_ALIGNMENT
diff --git a/usr/src/lib/libc/port/mapfile-vers b/usr/src/lib/libc/port/mapfile-vers
index 705ae9902a..6d7507c254 100644
--- a/usr/src/lib/libc/port/mapfile-vers
+++ b/usr/src/lib/libc/port/mapfile-vers
@@ -77,6 +77,17 @@ $if _x86 && _ELF64
$add amd64
$endif
+SYMBOL_VERSION ILLUMOS_0.26 { # fts(3) LFS
+$if lf64
+ protected:
+ fts_children64;
+ fts_close64;
+ fts_open64;
+ fts_read64;
+ fts_set64;
+$endif
+} ILLUMOS_0.25;
+
SYMBOL_VERSION ILLUMOS_0.25 { # inet_* moved from libnsl/libsocket
protected:
inet_addr;
diff --git a/usr/src/lib/libc/sparc/Makefile.com b/usr/src/lib/libc/sparc/Makefile.com
index c0862da496..7e3397262e 100644
--- a/usr/src/lib/libc/sparc/Makefile.com
+++ b/usr/src/lib/libc/sparc/Makefile.com
@@ -348,6 +348,7 @@ SYSOBJS= \
PORTGEN64= \
_xftw64.o \
attropen64.o \
+ fts64.o \
ftw64.o \
mkstemp64.o \
nftw64.o \