diff options
Diffstat (limited to 'bfd/libbfd.h')
-rw-r--r-- | bfd/libbfd.h | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/bfd/libbfd.h b/bfd/libbfd.h index 5e8ed9e..5da7541 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -895,22 +895,6 @@ _bfd_alloc_and_read (bfd *abfd, bfd_size_type asize, bfd_size_type rsize) return NULL; } -#ifdef USE_MMAP -extern void *_bfd_mmap_readonly_persistent - (bfd *, size_t) ATTRIBUTE_HIDDEN; -extern void *_bfd_mmap_readonly_temporary - (bfd *, size_t, void **, size_t *) ATTRIBUTE_HIDDEN; -extern void _bfd_munmap_readonly_temporary - (void *, size_t) ATTRIBUTE_HIDDEN; -#else -#define _bfd_mmap_readonly_persistent(abfd, rsize) \ - _bfd_alloc_and_read (abfd, rsize, rsize) -#define _bfd_munmap_readonly_temporary(ptr, rsize) free (ptr) -#endif - -extern bool _bfd_mmap_read_temporary - (void **, size_t *, void **, bfd *, bool) ATTRIBUTE_HIDDEN; - static inline void * _bfd_malloc_and_read (bfd *abfd, bfd_size_type asize, bfd_size_type rsize) { @@ -934,17 +918,37 @@ _bfd_malloc_and_read (bfd *abfd, bfd_size_type asize, bfd_size_type rsize) return NULL; } -#ifndef USE_MMAP +#ifdef USE_MMAP +extern void *_bfd_mmap_persistent + (bfd *, size_t) ATTRIBUTE_HIDDEN; +extern void *_bfd_mmap_temporary + (bfd *, size_t, void **, size_t *) ATTRIBUTE_HIDDEN; +extern void _bfd_munmap_temporary + (void *, size_t) ATTRIBUTE_HIDDEN; +#else +static inline void * +_bfd_mmap_persistent (bfd *abfd, size_t rsize) +{ + return _bfd_alloc_and_read (abfd, rsize, rsize); +} static inline void * -_bfd_mmap_readonly_temporary (bfd *abfd, size_t rsize, void **map_addr, - size_t *map_size) +_bfd_mmap_temporary (bfd *abfd, size_t rsize, void **map_addr, + size_t *map_size) { void *mem = _bfd_malloc_and_read (abfd, rsize, rsize); *map_addr = mem; *map_size = rsize; return mem; } +static inline void +_bfd_munmap_temporary (void *ptr, size_t rsize ATTRIBUTE_UNUSED) +{ + free (ptr); +} #endif + +extern bool _bfd_mmap_read_temporary + (void **, size_t *, void **, bfd *, bool) ATTRIBUTE_HIDDEN; /* Extracted from libbfd.c. */ void *bfd_malloc (bfd_size_type /*size*/) ATTRIBUTE_HIDDEN; |