blob: 0166428bc026c709ec132ea55add70a188d0ed9c [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/*
2 * Copyright (C) 2008 The Android Open Source Project
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in
12 * the documentation and/or other materials provided with the
13 * distribution.
14 *
15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
18 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
19 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
20 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
21 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
22 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
23 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
25 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 * SUCH DAMAGE.
27 */
Pavel Chupinb49c17c2013-10-02 16:38:05 +040028
29#include "asm_multiarch.h"
30
Tamas Petz18621fb2020-08-27 15:39:49 +020031#if defined(__aarch64__)
32#include <private/bionic_asm_arm64.h>
33
34__bionic_asm_custom_note_gnu_section()
35#endif
36
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080037 .section .preinit_array, "aw"
Dmitriy Ivanovaf7e8062015-05-06 18:49:23 -070038 ASM_ALIGN_TO_PTR_SIZE
Pavel Chupinb49c17c2013-10-02 16:38:05 +040039 ASM_PTR_SIZE(0)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080040
41 .section .init_array, "aw"
Dmitriy Ivanovaf7e8062015-05-06 18:49:23 -070042 ASM_ALIGN_TO_PTR_SIZE
Pavel Chupinb49c17c2013-10-02 16:38:05 +040043 ASM_PTR_SIZE(0)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080044
45 .section .fini_array, "aw"
Dmitriy Ivanovaf7e8062015-05-06 18:49:23 -070046 ASM_ALIGN_TO_PTR_SIZE
Pavel Chupinb49c17c2013-10-02 16:38:05 +040047 ASM_PTR_SIZE(0)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080048
Nick Kralevich6eee1fc2012-08-10 14:00:17 -070049#if defined(__linux__) && defined(__ELF__)
50 .section .note.GNU-stack,"",%progbits
51#endif
Pavel Chupinb49c17c2013-10-02 16:38:05 +040052#if defined(__i386__) || defined(__x86_64__)
53 .section .eh_frame,"a",@progbits
Dmitriy Ivanovaf7e8062015-05-06 18:49:23 -070054#if defined(__i386__)
55 .balign 4
56#endif
Pavel Chupinb49c17c2013-10-02 16:38:05 +040057 .type __FRAME_END__, @object
58 .size __FRAME_END__, 4
59__FRAME_END__:
60 .zero 4
61#endif