Mark compat code with attribute_compat_text_section.
[kopensolaris-gnu/glibc.git] / sysdeps / unix / sysv / linux / i386 / glob64.c
1 #include <dirent.h>
2 #include <glob.h>
3 #include <sys/stat.h>
4
5 #define dirent dirent64
6 #define __readdir(dirp) __readdir64 (dirp)
7
8 #define glob_t glob64_t
9 #define glob(pattern, flags, errfunc, pglob) \
10   __glob64 (pattern, flags, errfunc, pglob)
11 #define globfree(pglob) globfree64 (pglob)
12
13 #undef stat
14 #define stat stat64
15 #undef __stat
16 #define __stat(file, buf) __xstat64 (_STAT_VER, file, buf)
17
18 #define NO_GLOB_PATTERN_P 1
19
20 #define COMPILE_GLOB64  1
21
22 #include <sysdeps/generic/glob.c>
23
24 #include "shlib-compat.h"
25
26 libc_hidden_def (globfree64)
27
28 versioned_symbol (libc, __glob64, glob64, GLIBC_2_2);
29
30 #if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
31
32 #include <sysdeps/unix/sysv/linux/i386/olddirent.h>
33
34 int __old_glob64 (__const char *__pattern, int __flags,
35                   int (*__errfunc) (__const char *, int),
36                   glob64_t *__pglob);
37
38 #undef dirent
39 #define dirent __old_dirent64
40 #undef __readdir
41 #define __readdir(dirp) __old_readdir64 (dirp)
42 #undef glob
43 #define glob(pattern, flags, errfunc, pglob) \
44   __old_glob64 (pattern, flags, errfunc, pglob)
45 #define glob_in_dir __old_glob_in_dir
46 #define GLOB_ATTRIBUTE attribute_compat_text_section
47
48 #define GLOB_ONLY_P 1
49
50 #include <sysdeps/generic/glob.c>
51
52 compat_symbol (libc, __old_glob64, glob64, GLIBC_2_1);
53 #endif