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 | external_chromium-5d10d1b0b2dff8fed028360ff8fb6ab715cb53e8.zip external_chromium-5d10d1b0b2dff8fed028360ff8fb6ab715cb53e8.tar.gz external_chromium-5d10d1b0b2dff8fed028360ff8fb6ab715cb53e8.tar.bz2 |
Fix build. Switch to a new way of spoofing prctl.
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 ee0122d..7381620 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 |