mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 13:00:06 +00:00
hurd: Fix build after __pread64 usage in the dynamic loader
Commit95c1056962
("elf: Use nocancel pread64() instead of lseek()+read()") added calls to __pread64 to the dynamic loader. On Hurd, this needs an implementation in the dynamic loader because the rtld-pread64 rebuild pulls in too many symbols. Fixes:95c1056962
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
This commit is contained in:
parent
c82005921e
commit
3007ad2140
@ -357,9 +357,9 @@ __close (int fd)
|
||||
return 0;
|
||||
}
|
||||
|
||||
check_no_hidden(__read);
|
||||
check_no_hidden(__pread64);
|
||||
__ssize_t weak_function
|
||||
__read (int fd, void *buf, size_t nbytes)
|
||||
__pread64 (int fd, void *buf, size_t nbytes, off64_t offset)
|
||||
{
|
||||
error_t err;
|
||||
char *data;
|
||||
@ -367,7 +367,7 @@ __read (int fd, void *buf, size_t nbytes)
|
||||
|
||||
data = buf;
|
||||
nread = nbytes;
|
||||
err = __io_read ((mach_port_t) fd, &data, &nread, -1, nbytes);
|
||||
err = __io_read ((mach_port_t) fd, &data, &nread, offset, nbytes);
|
||||
if (err)
|
||||
return __hurd_fail (err);
|
||||
|
||||
@ -379,6 +379,14 @@ __read (int fd, void *buf, size_t nbytes)
|
||||
|
||||
return nread;
|
||||
}
|
||||
libc_hidden_weak (__pread64)
|
||||
|
||||
check_no_hidden(__read);
|
||||
__ssize_t weak_function
|
||||
__read (int fd, void *buf, size_t nbytes)
|
||||
{
|
||||
return __pread64 (fd, buf, nbytes, -1);
|
||||
}
|
||||
libc_hidden_weak (__read)
|
||||
|
||||
check_no_hidden(__write);
|
||||
|
Loading…
Reference in New Issue
Block a user