diff options
author | Colin Cross <ccross@android.com> | 2015-02-12 17:03:22 -0800 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2015-02-12 21:37:20 -0800 |
commit | e09ab2cc2ff41ce7519c143d448371ddd62afc59 (patch) | |
tree | 27aeb6b9af0e2cee7200e1683a9650f013b49396 /libc/bionic/crtbrand.c | |
parent | f9fb52ab309c97d5b2ef4f8e1daff3eed4cf4024 (diff) | |
download | android_bionic-e09ab2cc2ff41ce7519c143d448371ddd62afc59.tar.gz android_bionic-e09ab2cc2ff41ce7519c143d448371ddd62afc59.tar.bz2 android_bionic-e09ab2cc2ff41ce7519c143d448371ddd62afc59.zip |
Make .note.android.ident section type SH_NOTE
The .note.android.ident section is only used by GDB, which doesn't
care what section type the section is, but it would be convenient
for readelf -n to be able to find the section too.
The old way of getting the .note.android.ident section to be of type
SH_NOTE involved compiling from .c to .s using gcc, running sed to
change progbits to note, and then compiling from .s to .o using gcc.
Since crtbrand.c only contains a section containing data, a
crtbrand.S can be checked in that will compile on all platforms,
avoiding the need for sed.
Also add crtbrand.o to crtbegin_so.o so that libraries also get
the note, and to the crt workaround in arm libc.so.
Change-Id: Ica71942a6af4553b56978ceaa288b3f4c15ebfa2
Diffstat (limited to 'libc/bionic/crtbrand.c')
-rw-r--r-- | libc/bionic/crtbrand.c | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/libc/bionic/crtbrand.c b/libc/bionic/crtbrand.c deleted file mode 100644 index a726c514d..000000000 --- a/libc/bionic/crtbrand.c +++ /dev/null @@ -1,48 +0,0 @@ -/*- - * Copyright 2000 David E. O'Brien, John D. Polstra. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <stdint.h> - -#define ABI_VENDOR "Android" -#define ABI_SECTION ".note.android.ident" -#define ABI_NOTETYPE 1 -#define ABI_ANDROID_API PLATFORM_SDK_VERSION - -/* - * Special ".note" entry to tag an Android binary and specify the ABI version. - */ -static const struct { - int32_t namesz; - int32_t descsz; - int32_t type; - char name[sizeof ABI_VENDOR]; - int32_t android_api; -} abitag __attribute__ ((section (ABI_SECTION), aligned(4), used)) = { - sizeof ABI_VENDOR, - sizeof(int32_t), - ABI_NOTETYPE, - ABI_VENDOR, - ABI_ANDROID_API, -}; |