From 15bbba8d0de01910ed3ccf46647a3d4525fc4848 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Wed, 4 Jan 2012 13:31:27 +0000 Subject: 2012-01-04 Tristan Gingold * mach-o.c (bfd_mach_o_fat_stat_arch_elt): New function. (bfd_mach_o_generic_stat_arch_elt): Adjust. --- bfd/mach-o.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'bfd/mach-o.c') 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 -- cgit v1.1