Rename library_offset to library_fd_offset

replace lseek() and use pread() instead
 add test for library_fd_offset > file_size case

Bug: 17762003

(cherry picked from commit a6c1279098)

Change-Id: Ie117c745081ee33d07db5341115ff6c8e98b0dec
This commit is contained in:
Dmitriy Ivanov
2014-10-21 12:09:18 -07:00
parent 3c5c720b0b
commit 702ab5b37e
4 changed files with 29 additions and 26 deletions

View File

@@ -54,11 +54,11 @@ enum {
*/
ANDROID_DLEXT_USE_LIBRARY_FD = 0x10,
/* When opening library using library_fd read it starting with library_offset
/* If opening a library using library_fd read it starting at library_fd_offset.
* This flag is only valid when ANDROID_DLEXT_USE_LIBRARY_FD is set.
*/
ANDROID_DLEXT_USE_LIBRARY_OFFSET = 0x20,
ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET = 0x20,
/* Mask of valid bits */
ANDROID_DLEXT_VALID_FLAG_BITS = ANDROID_DLEXT_RESERVED_ADDRESS |
@@ -66,7 +66,7 @@ enum {
ANDROID_DLEXT_WRITE_RELRO |
ANDROID_DLEXT_USE_RELRO |
ANDROID_DLEXT_USE_LIBRARY_FD |
ANDROID_DLEXT_USE_LIBRARY_OFFSET,
ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET,
};
typedef struct {
@@ -75,7 +75,7 @@ typedef struct {
size_t reserved_size;
int relro_fd;
int library_fd;
off64_t library_offset;
off64_t library_fd_offset;
} android_dlextinfo;
extern void* android_dlopen_ext(const char* filename, int flag, const android_dlextinfo* extinfo);