diff options
author | Tristan Gingold <gingold@adacore.com> | 2012-01-04 13:31:27 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2012-01-04 13:31:27 +0000 |
commit | 15bbba8d0de01910ed3ccf46647a3d4525fc4848 (patch) | |
tree | 787a44db2ebbc6795f56561540f3de2978d4ad1c /bfd/mach-o.c | |
parent | a4e241ca1b734fe79981ee40980e1ea44bb1e17b (diff) | |
download | gdb-15bbba8d0de01910ed3ccf46647a3d4525fc4848.zip gdb-15bbba8d0de01910ed3ccf46647a3d4525fc4848.tar.gz gdb-15bbba8d0de01910ed3ccf46647a3d4525fc4848.tar.bz2 |
2012-01-04 Tristan Gingold <gingold@adacore.com>
* mach-o.c (bfd_mach_o_fat_stat_arch_elt): New function.
(bfd_mach_o_generic_stat_arch_elt): Adjust.
Diffstat (limited to 'bfd/mach-o.c')
-rw-r--r-- | bfd/mach-o.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/bfd/mach-o.c b/bfd/mach-o.c index 4618fe8..86012d5 100644 --- a/bfd/mach-o.c +++ b/bfd/mach-o.c @@ -4203,6 +4203,26 @@ bfd_mach_o_openr_next_archived_file (bfd *archive, bfd *prev) return nbfd; } +/* Analogous to stat call. */ + +static int +bfd_mach_o_fat_stat_arch_elt (bfd *abfd, struct stat *buf) +{ + if (abfd->arelt_data == NULL) + { + bfd_set_error (bfd_error_invalid_operation); + return -1; + } + + buf->st_mtime = 0; + buf->st_uid = 0; + buf->st_gid = 0; + buf->st_mode = 0644; + buf->st_size = arelt_size (abfd); + + return 0; +} + /* If ABFD format is FORMAT and architecture is ARCH, return it. If ABFD is a fat image containing a member that corresponds to FORMAT and ARCH, returns it. @@ -4756,7 +4776,7 @@ bfd_boolean bfd_mach_o_free_cached_info (bfd *abfd) #define bfd_mach_o_truncate_arname _bfd_noarchive_truncate_arname #define bfd_mach_o_write_armap _bfd_noarchive_write_armap #define bfd_mach_o_get_elt_at_index _bfd_noarchive_get_elt_at_index -#define bfd_mach_o_generic_stat_arch_elt _bfd_noarchive_generic_stat_arch_elt +#define bfd_mach_o_generic_stat_arch_elt bfd_mach_o_fat_stat_arch_elt #define bfd_mach_o_update_armap_timestamp _bfd_noarchive_update_armap_timestamp #define TARGET_NAME mach_o_fat_vec |