Age | Commit message (Collapse) | Author |
|
commit 8ed005daf0ab of glibc-2.33 (Remove stat wrapper functions, move
them to exported symbols) removed renames of `__fxstat`, `__xstat`, and
`__lxstat` to `__fxstat64`, `__xstat64`, and `__lxstat64`, respectively.
But we relied on the renames to build `fd_64.c` properly. With glibc
2.33, we now see link failures of the POSIX runtime:
error: Linking globals named '__xstat': symbol multiply defined!
Rename the functions using `__REDIRECT_NTH` in the code as
`__USE_FILE_OFFSET64` case (which we define at the top of the file by
`#define _FILE_OFFSET_BITS 64`) did exactly that.
Fixes #1384.
|
|
to function names.
|
|
glibc 2.30 moved definition of getdents64 to dirent_ext.h. Hence, it
became visible to us (via dirent.h) and conflicts with our definition:
runtime/POSIX/fd_64.c:112:5: error: conflicting types for 'getdents64'
int getdents64(unsigned int fd, struct dirent *dirp, unsigned int count) {
^
/usr/include/bits/dirent_ext.h:29:18: note: previous declaration is here
extern __ssize_t getdents64 (int __fd, void *__buffer, size_t __length)
We use the parameters defined by kernel, not by userspace (libc). Both
glibc and uclibc define it as:
ssize_t __getdents64 (int fd, char *buf, size_t nbytes)
so follow it.
|
|
|
|
|
|
|
|
Build Large File System functions for 32bit and 64bit correctly
|
|
|
|
Added some of the common *at functions & others to the model. Obey --max-forks in switch statements.
|
|
|
|
Function like stat() were defined for 32bit and 64bit version.
Added compile time based selection of appropriate version
using GNUC macros __x86_64__ and __ppc64__.
|
|
|
|
- Lots more tweaks, documentation, and web page content is needed,
but this should compile & work on OS X & Linux.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72205 91177308-0d34-0410-b5e6-96231b3b80d8
|