Changeset ed903174 in mainline for uspace/app/taskdump/elf_core.c
- Timestamp:
- 2010-02-10T23:51:23Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e70edd1
- Parents:
- b32c604f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/taskdump/elf_core.c
rb32c604f red903174 62 62 #include "include/elf_core.h" 63 63 64 static off _t align_foff_up(off_t foff, uintptr_t vaddr, size_t page_size);64 static off64_t align_foff_up(off64_t foff, uintptr_t vaddr, size_t page_size); 65 65 static int write_all(int fd, void *data, size_t len); 66 66 static int write_mem_area(int fd, as_area_info_t *area, int phoneid); … … 79 79 * ENOMEM on out of memory, EIO on write error. 80 80 */ 81 int elf_core_save(const char *file_name, as_area_info_t *ainfo, int n, int phoneid)81 int elf_core_save(const char *file_name, as_area_info_t *ainfo, unsigned int n, int phoneid) 82 82 { 83 83 elf_header_t elf_hdr; 84 off _t foff;84 off64_t foff; 85 85 size_t n_ph; 86 86 elf_word flags; … … 89 89 int fd; 90 90 int rc; 91 int i;91 unsigned int i; 92 92 93 93 n_ph = n; … … 184 184 185 185 for (i = 0; i < n_ph; ++i) { 186 if (lseek(fd, p_hdr[i].p_offset, SEEK_SET) == (off _t) -1) {186 if (lseek(fd, p_hdr[i].p_offset, SEEK_SET) == (off64_t) -1) { 187 187 printf("Failed writing memory data.\n"); 188 188 free(p_hdr); … … 202 202 203 203 /** Align file offset up to be congruent with vaddr modulo page size. */ 204 static off_t align_foff_up(off_t foff, uintptr_t vaddr, size_t page_size) 205 { 206 off_t rfo, rva; 207 off_t advance; 208 209 rva = vaddr % page_size; 210 rfo = foff % page_size; 211 212 advance = (rva >= rfo) ? rva - rfo : (page_size + rva - rfo); 213 return foff + advance; 204 static off64_t align_foff_up(off64_t foff, uintptr_t vaddr, size_t page_size) 205 { 206 off64_t rva = vaddr % page_size; 207 off64_t rfo = foff % page_size; 208 209 if (rva >= rfo) 210 return (foff + (rva - rfo)); 211 212 return (foff + (page_size + (rva - rfo))); 214 213 } 215 214
Note:
See TracChangeset
for help on using the changeset viewer.