blob: 97bef3f6a9874bd6b3910dda32b4bdb98b7d0d17 [file] [log] [blame]
Pierre-Clément Tosi9a658f72022-10-10 15:18:54 +01001// Copyright 2022, The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15//! Linker-defined symbols.
16
17extern "C" {
18 /// Stack canary value
19 pub static __stack_chk_guard: u64;
20 /// First byte beyond the pre-loaded binary.
21 pub static bin_end: u8;
Pierre-Clément Tosi9a658f72022-10-10 15:18:54 +010022 /// First byte of the `.bss` section.
23 pub static bss_begin: u8;
24 /// First byte beyond the `.bss` section.
25 pub static bss_end: u8;
26 /// First byte of the (loaded) `.data` section.
27 pub static data_begin: u8;
28 /// First byte beyond the (loaded) `.data` section.
29 pub static data_end: u8;
30 /// First byte of the pre-loaded `.data` section.
31 pub static data_lma: u8;
32 /// First byte of the `.dtb` section.
33 pub static dtb_begin: u8;
34 /// First byte beyond the `.dtb` section.
35 pub static dtb_end: u8;
Pierre-Clément Tosiccc11382023-04-21 16:44:53 +010036 /// First byte of the region available for the exception handler stack.
37 pub static eh_stack_limit: u8;
Pierre-Clément Tosi23aba522023-04-21 17:03:50 +010038 /// First byte past the region available for the stack.
39 pub static init_stack_pointer: u8;
Pierre-Clément Tosi9a658f72022-10-10 15:18:54 +010040 /// First byte of the `.rodata` section.
41 pub static rodata_begin: u8;
42 /// First byte beyond the `.rodata` section.
43 pub static rodata_end: u8;
Pierre-Clément Tosi23aba522023-04-21 17:03:50 +010044 /// First byte of the region available for the stack.
45 pub static stack_limit: u8;
Pierre-Clément Tosi9a658f72022-10-10 15:18:54 +010046 /// First byte of the `.text` section.
47 pub static text_begin: u8;
48 /// First byte beyond the `.text` section.
49 pub static text_end: u8;
50}