OLD | NEW |
1 // Copyright (c) 2006, Google Inc. | 1 // Copyright (c) 2006, Google Inc. |
2 // All rights reserved. | 2 // All rights reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // * Redistributions of source code must retain the above copyright | 8 // * Redistributions of source code must retain the above copyright |
9 // notice, this list of conditions and the following disclaimer. | 9 // notice, this list of conditions and the following disclaimer. |
10 // * Redistributions in binary form must reproduce the above | 10 // * Redistributions in binary form must reproduce the above |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 #include "glog/logging.h" | 59 #include "glog/logging.h" |
60 | 60 |
61 #ifdef HAVE_SYMBOLIZE | 61 #ifdef HAVE_SYMBOLIZE |
62 | 62 |
63 #if defined(__ELF__) // defined by gcc | 63 #if defined(__ELF__) // defined by gcc |
64 #if defined(__OpenBSD__) | 64 #if defined(__OpenBSD__) |
65 #include <sys/exec_elf.h> | 65 #include <sys/exec_elf.h> |
66 #else | 66 #else |
67 #include <elf.h> | 67 #include <elf.h> |
68 #endif | 68 #endif |
| 69 |
| 70 #if !defined(ANDROID) |
69 #include <link.h> // For ElfW() macro. | 71 #include <link.h> // For ElfW() macro. |
| 72 #endif |
70 | 73 |
71 // For systems where SIZEOF_VOID_P is not defined, determine it | 74 // For systems where SIZEOF_VOID_P is not defined, determine it |
72 // based on __LP64__ (defined by gcc on 64-bit systems) | 75 // based on __LP64__ (defined by gcc on 64-bit systems) |
73 #if !defined(SIZEOF_VOID_P) | 76 #if !defined(SIZEOF_VOID_P) |
74 # if defined(__LP64__) | 77 # if defined(__LP64__) |
75 # define SIZEOF_VOID_P 8 | 78 # define SIZEOF_VOID_P 8 |
76 # else | 79 # else |
77 # define SIZEOF_VOID_P 4 | 80 # define SIZEOF_VOID_P 4 |
78 # endif | 81 # endif |
79 #endif | 82 #endif |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 | 124 |
122 // Symbolizes a program counter. On success, returns true and write the | 125 // Symbolizes a program counter. On success, returns true and write the |
123 // symbol name to "out". The symbol name is demangled if possible | 126 // symbol name to "out". The symbol name is demangled if possible |
124 // (supports symbols generated by GCC 3.x or newer). Otherwise, | 127 // (supports symbols generated by GCC 3.x or newer). Otherwise, |
125 // returns false. | 128 // returns false. |
126 bool Symbolize(void *pc, char *out, int out_size); | 129 bool Symbolize(void *pc, char *out, int out_size); |
127 | 130 |
128 _END_GOOGLE_NAMESPACE_ | 131 _END_GOOGLE_NAMESPACE_ |
129 | 132 |
130 #endif // BASE_SYMBOLIZE_H_ | 133 #endif // BASE_SYMBOLIZE_H_ |
OLD | NEW |