X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fmachoread.c;h=28e0640c407afe87b108387aeb09e6ac44952188;hb=e42de8c7f8e7326d284f8b53f3bd6971fbf6e7b7;hp=f7194e250ae814719f132ffc57dd97f14f8af91e;hpb=77e371c079408e265f1dfd2b0620dd8e76c23371;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/machoread.c b/gdb/machoread.c index f7194e250a..28e0640c40 100644 --- a/gdb/machoread.c +++ b/gdb/machoread.c @@ -1,5 +1,5 @@ /* Darwin support for GDB, the GNU debugger. - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2016 Free Software Foundation, Inc. Contributed by AdaCore. @@ -28,15 +28,12 @@ #include "gdbcmd.h" #include "gdbcore.h" #include "mach-o.h" -#include "gdb_assert.h" #include "aout/stab_gnu.h" #include "vec.h" #include "psympriv.h" #include "complaints.h" #include "gdb_bfd.h" -#include - /* If non-zero displays debugging message. */ static unsigned int mach_o_debug_level = 0; @@ -111,24 +108,11 @@ macho_symtab_add_minsym (struct objfile *objfile, const asymbol *sym) if (sym->flags & (BSF_GLOBAL | BSF_LOCAL | BSF_WEAK)) { CORE_ADDR symaddr; - CORE_ADDR offset; enum minimal_symbol_type ms_type; - offset = ANOFFSET (objfile->section_offsets, - gdb_bfd_section_index (objfile->obfd, sym->section)); - /* Bfd symbols are section relative. */ symaddr = sym->value + sym->section->vma; - /* Select global/local/weak symbols. Note that bfd puts abs - symbols in their own section, so all symbols we are - interested in will have a section. */ - /* Relocate all non-absolute and non-TLS symbols by the - section offset. */ - if (sym->section != bfd_abs_section_ptr - && !(sym->section->flags & SEC_THREAD_LOCAL)) - symaddr += offset; - if (sym->section == bfd_abs_section_ptr) ms_type = mst_abs; else if (sym->section->flags & SEC_CODE) @@ -359,7 +343,7 @@ macho_symtab_read (struct objfile *objfile, static int get_archive_prefix_len (const char *name) { - char *lparen; + const char *lparen; int name_len = strlen (name); if (name_len == 0 || name[name_len - 1] != ')') @@ -799,7 +783,7 @@ macho_check_dsym (struct objfile *objfile, char **filenamep) size_t dsym_len = strlen (DSYM_SUFFIX); const char *base_name = lbasename (objfile_name (objfile)); size_t base_len = strlen (base_name); - char *dsym_filename = alloca (name_len + dsym_len + base_len + 1); + char *dsym_filename = (char *) alloca (name_len + dsym_len + base_len + 1); bfd *dsym_bfd; bfd_mach_o_load_command *main_uuid; bfd_mach_o_load_command *dsym_uuid; @@ -1020,7 +1004,7 @@ macho_symfile_offsets (struct objfile *objfile, const char *bfd_sect_name = osect->the_bfd_section->name; int sect_index = osect - objfile->sections;; - if (strncmp (bfd_sect_name, "LC_SEGMENT.", 11) == 0) + if (startswith (bfd_sect_name, "LC_SEGMENT.")) bfd_sect_name += 11; if (strcmp (bfd_sect_name, "__TEXT") == 0 || strcmp (bfd_sect_name, "__TEXT.__text") == 0)