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 | c01e7ed17d6b711ea29ddd864bf1c74e7c244cbb (patch) | |
tree | 84538fa0da64077b15f415fb73d87c9026e9e124 | |
parent | f5f6624d9edccc9ecdc5cd39be5fb427521878f6 (diff) | |
download | gdb-c01e7ed17d6b711ea29ddd864bf1c74e7c244cbb.tar.gz |
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.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/mach-o.c | 22 |
2 files changed, 26 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f49a8dc0596..5dac115fc46 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,10 @@ 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. + +2012-01-04 Tristan Gingold <gingold@adacore.com> + * mach-o.c (bfd_mach_o_fat_member_init): New function. (bfd_mach_o_openr_next_archived_file): Reindent. Adjust to call bfd_mach_o_fat_member_init. diff --git a/bfd/mach-o.c b/bfd/mach-o.c index 4618fe8b28d..86012d5d076 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 |