diff options
author | Ben Cheng <bccheng@google.com> | 2012-03-16 15:37:57 -0700 |
---|---|---|
committer | Ben Cheng <bccheng@google.com> | 2012-03-21 12:12:35 -0700 |
commit | fac061ffdea9dc61a3b7c53cb85a44594a4354ba (patch) | |
tree | 7198df25ceaeb1e04b20c6d740703deface15190 /bionic-fixup/AndroidFixup.h | |
parent | cc6695e2684ce93cdf8bd2da63d55d2cf49ff076 (diff) | |
download | android_external_elfutils-fac061ffdea9dc61a3b7c53cb85a44594a4354ba.tar.gz android_external_elfutils-fac061ffdea9dc61a3b7c53cb85a44594a4354ba.tar.bz2 android_external_elfutils-fac061ffdea9dc61a3b7c53cb85a44594a4354ba.zip |
Add new build rules and associated fixes needed by perf.
New static libraries (host and target): libelf, libebl, libdw, and libdwfl
Cleaned up off_t, loff_t, and off64_t usage.
Change-Id: Ic567dce0591aad3c9c61f4054b2e1948b0865d64
Diffstat (limited to 'bionic-fixup/AndroidFixup.h')
-rw-r--r-- | bionic-fixup/AndroidFixup.h | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/bionic-fixup/AndroidFixup.h b/bionic-fixup/AndroidFixup.h new file mode 100644 index 00000000..e96d57ed --- /dev/null +++ b/bionic-fixup/AndroidFixup.h @@ -0,0 +1,87 @@ +/* + * Copyright 2012, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ANDROID_FIXUP_H +#define ANDROID_FIXUP_H + +#include <stdio.h> +#include <libgen.h> // for basename + +//#define _OFF_T_DEFINED_ + +//#define off_t loff_t + +#ifndef MAX +#define MAX(x,y) ((x) > (y) ? (x) : (y)) +#endif + +#ifndef MIN +#define MIN(x,y) ((x) < (y) ? (x) : (y)) +#endif + +#ifndef powerof2 +#define powerof2(x) (((x - 1) & (x)) == 0) +#endif + +/* workaround for canonicalize_file_name */ +#define canonicalize_file_name(path) realpath(path, NULL) + +/* workaround for open64 */ +#define open64(path, flags) open(path, ((flags) | O_LARGEFILE)) + +/* no internalization */ +#define gettext(x) (x) + +/* _mempcpy and mempcpy */ +#ifndef __mempcpy +#define __mempcpy(dest, src, n) mempcpy(dest, src, n) +#endif + +#ifndef mempcpy +#include <string.h> + +static inline void *mempcpy(void *dest, const void *src, size_t n) +{ + char *ptr = memcpy(dest, src, n); + return ptr + n; +} +#endif + +/* rawmemchr */ +static inline void *rawmemchr(const void *s, int c) +{ + const unsigned char *ptr = s; + while (1) { + if (*ptr == c) return (void *) ptr; + ptr++; + } +} + +/* workaround for stpcpy */ +static inline char *stpcpy(char *dst, const char *src) +{ + while (*src) { + *dst++ = *src++; + } + return dst; +} + +/* forward declarations */ +char * dgettext (const char * domainname, const char * msgid); + +ssize_t getline(char **lineptr, size_t *n, FILE *stream); + +#endif /* ANDROID_FIXUP_H */ |