diff options
author | Jean-Baptiste Queru <jbq@google.com> | 2011-05-31 09:48:51 -0700 |
---|---|---|
committer | Jean-Baptiste Queru <jbq@google.com> | 2011-05-31 09:51:40 -0700 |
commit | 5d10d1b0b2dff8fed028360ff8fb6ab715cb53e8 (patch) | |
tree | 63ce91a6f333743c479363dfce60882611f17e10 | |
parent | e5ee1dd168514c20afe765054339f2bd884f18f5 (diff) | |
download | chromium-honeycomb-mr2.tar.gz |
Fix build. Switch to a new way of spoofing prctl.android-3.2_r1android-3.2.4_r1android-3.2.2_r2android-3.2.2_r1android-3.2.1_r2android-3.2.1_r1honeycomb-mr2-releasehoneycomb-mr2
The code so far relied on using a different definition
from the bionic one, so there was no conflict. However bionic
changed to move to the same definition, which caused a conflict
at the C++ level. This uses the preprocessor to eliminate the
conflict, by first including the headers that would be afected
by the preprocessor trick and then redefining the function in
question with the preprocessor.
None of the call sites rely on side effects of evaluating
parameters to prctl, so it's OK to have the preprocessor
swallow them.
Change-Id: Id33ec44d4faf0e50f4dcea4b3c073f6318e3bba5
-rw-r--r-- | android/prefix.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/android/prefix.h b/android/prefix.h index ee0122d7..73816203 100644 --- a/android/prefix.h +++ b/android/prefix.h @@ -28,6 +28,8 @@ // C++ specific changes #ifdef __cplusplus +#include <unistd.h> +#include <sys/prctl.h> // chromium refers to stl functions without std:: #include <algorithm> using std::find; @@ -36,7 +38,7 @@ using std::search; // Called by command_line.cc to shorten the process name. Not needed for // network stack. -inline int prctl(int option, ...) { return 0; } +#define prctl() (0) namespace std { // our new does not trigger oom |