diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0222d32310..c8e23bab21 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2014-11-04 Alan Modra + + * elf32-spu.c (ovl_mgr_stat): New function. + (spu_elf_open_builtin_lib): Pass to bfd_openr_iovec. + 2014-11-03 Andrew Burgess * elf32-avr.c (elf32_avr_relax_delete_bytes): During linker diff --git a/bfd/elf32-spu.c b/bfd/elf32-spu.c index 13806ad1bd..ebc9e6a0d0 100644 --- a/bfd/elf32-spu.c +++ b/bfd/elf32-spu.c @@ -1828,6 +1828,18 @@ ovl_mgr_pread (struct bfd *abfd ATTRIBUTE_UNUSED, return count; } +static int +ovl_mgr_stat (struct bfd *abfd ATTRIBUTE_UNUSED, + void *stream, + struct stat *sb) +{ + struct _ovl_stream *os = (struct _ovl_stream *) stream; + + memset (sb, 0, sizeof (*sb)); + sb->st_size = (const char *) os->end - (const char *) os->start; + return 0; +} + bfd_boolean spu_elf_open_builtin_lib (bfd **ovl_bfd, const struct _ovl_stream *stream) { @@ -1837,7 +1849,7 @@ spu_elf_open_builtin_lib (bfd **ovl_bfd, const struct _ovl_stream *stream) (void *) stream, ovl_mgr_pread, NULL, - NULL); + ovl_mgr_stat); return *ovl_bfd != NULL; }