mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-20 06:15:09 +08:00
Provide stat function for spu overlay manager iovec
Commit f54498b4 broke spu-elf, specifically the change "Do not try to load a string table bigger than the file", because bfd_get_size returns zero for the spu built-in overlay manager bfd. * elf32-spu.c (ovl_mgr_stat): New function. (spu_elf_open_builtin_lib): Pass to bfd_openr_iovec.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2014-11-04 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* elf32-spu.c (ovl_mgr_stat): New function.
|
||||||
|
(spu_elf_open_builtin_lib): Pass to bfd_openr_iovec.
|
||||||
|
|
||||||
2014-11-03 Andrew Burgess <andrew.burgess@embecosm.com>
|
2014-11-03 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||||
|
|
||||||
* elf32-avr.c (elf32_avr_relax_delete_bytes): During linker
|
* elf32-avr.c (elf32_avr_relax_delete_bytes): During linker
|
||||||
|
@ -1828,6 +1828,18 @@ ovl_mgr_pread (struct bfd *abfd ATTRIBUTE_UNUSED,
|
|||||||
return count;
|
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
|
bfd_boolean
|
||||||
spu_elf_open_builtin_lib (bfd **ovl_bfd, const struct _ovl_stream *stream)
|
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,
|
(void *) stream,
|
||||||
ovl_mgr_pread,
|
ovl_mgr_pread,
|
||||||
NULL,
|
NULL,
|
||||||
NULL);
|
ovl_mgr_stat);
|
||||||
return *ovl_bfd != NULL;
|
return *ovl_bfd != NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user