Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
abseil-cpp
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open
abseil-cpp
Commits
92e07e55
Unverified
Commit
92e07e55
authored
Aug 01, 2018
by
Derek Mauro
Committed by
GitHub
Aug 01, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #152 from clnperez/fix-multi-defines-ppc64le
fix multiple define problem with ppc64le
parents
2125e644
b876d861
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
3 deletions
+6
-3
absl/debugging/internal/stacktrace_powerpc-inl.inc
+6
-3
No files found.
absl/debugging/internal/stacktrace_powerpc-inl.inc
View file @
92e07e55
...
@@ -31,6 +31,8 @@
...
@@ -31,6 +31,8 @@
#include <cstdint>
#include <cstdint>
#include <cstdio>
#include <cstdio>
#include "absl/base/attributes.h"
#include "absl/base/optimization.h"
#include "absl/base/port.h"
#include "absl/base/port.h"
#include "absl/debugging/stacktrace.h"
#include "absl/debugging/stacktrace.h"
#include "absl/debugging/internal/address_is_readable.h"
#include "absl/debugging/internal/address_is_readable.h"
...
@@ -150,8 +152,9 @@ static void **NextStackFrame(void **old_sp, const void *uc) {
...
@@ -150,8 +152,9 @@ static void **NextStackFrame(void **old_sp, const void *uc) {
}
}
// This ensures that absl::GetStackTrace sets up the Link Register properly.
// This ensures that absl::GetStackTrace sets up the Link Register properly.
void
StacktracePowerPCDummyFunction
()
__attribute__
((
noinline
));
ABSL_ATTRIBUTE_NOINLINE
static
void
AbslStacktracePowerPCDummyFunction
()
{
void
StacktracePowerPCDummyFunction
()
{
__asm__
volatile
(
""
);
}
ABSL_BLOCK_TAIL_CALL_OPTIMIZATION
();
}
template
<
bool
IS_STACK_FRAMES
,
bool
IS_WITH_CONTEXT
>
template
<
bool
IS_STACK_FRAMES
,
bool
IS_WITH_CONTEXT
>
ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS
// May read random elements from stack.
ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS
// May read random elements from stack.
...
@@ -176,7 +179,7 @@ static int UnwindImpl(void** result, int* sizes, int max_depth, int skip_count,
...
@@ -176,7 +179,7 @@ static int UnwindImpl(void** result, int* sizes, int max_depth, int skip_count,
// want here. While the compiler will always(?) set up LR for
// want here. While the compiler will always(?) set up LR for
// subroutine calls, it may not for leaf functions (such as this one).
// subroutine calls, it may not for leaf functions (such as this one).
// This routine forces the compiler (at least gcc) to push it anyway.
// This routine forces the compiler (at least gcc) to push it anyway.
StacktracePowerPCDummyFunction
();
Absl
StacktracePowerPCDummyFunction
();
// The LR save area is used by the callee, so the top entry is bogus.
// The LR save area is used by the callee, so the top entry is bogus.
skip_count
++
;
skip_count
++
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment