comparison src/os/bsd/vm/decoder_machO.cpp @ 17937:78bbf4d43a14

8037816: Fix for 8036122 breaks build with Xcode5/clang 8043029: Change 8037816 breaks HS build with older GCC versions which don't support diagnostic pragmas 8043164: Format warning in traceStream.hpp Summary: Backport of main fix + two corrections, enables clang compilation, turns on format attributes, corrects/mutes warnings Reviewed-by: kvn, coleenp, iveresov, twisti
author drchase
date Thu, 22 May 2014 15:52:41 -0400
parents b9a9ed0f8eeb
children
comparison
equal deleted inserted replaced
17935:7384f6a12fc1 17937:78bbf4d43a14
1 /* 1 /*
2 * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
51 bool MachODecoder::decode(address addr, char *buf, 51 bool MachODecoder::decode(address addr, char *buf,
52 int buflen, int *offset, const void *mach_base) { 52 int buflen, int *offset, const void *mach_base) {
53 struct symtab_command * symt = (struct symtab_command *) 53 struct symtab_command * symt = (struct symtab_command *)
54 mach_find_command((struct mach_header_64 *)mach_base, LC_SYMTAB); 54 mach_find_command((struct mach_header_64 *)mach_base, LC_SYMTAB);
55 if (symt == NULL) { 55 if (symt == NULL) {
56 DEBUG_ONLY(tty->print_cr("no symtab in mach file at 0x%lx", mach_base)); 56 DEBUG_ONLY(tty->print_cr("no symtab in mach file at 0x%lx", p2i(mach_base)));
57 return false; 57 return false;
58 } 58 }
59 uint32_t off = symt->symoff; /* symbol table offset (within this mach file) */ 59 uint32_t off = symt->symoff; /* symbol table offset (within this mach file) */
60 uint32_t nsyms = symt->nsyms; /* number of symbol table entries */ 60 uint32_t nsyms = symt->nsyms; /* number of symbol table entries */
61 uint32_t stroff = symt->stroff; /* string table offset */ 61 uint32_t stroff = symt->stroff; /* string table offset */