| /* |
| * Copyright (C) 2022 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. |
| */ |
| |
| SECTIONS { |
| . = SIZEOF_HEADERS; |
| .text : { |
| *(.text.*) |
| . = ALIGN(4096); |
| exec_region_start = .; |
| . += (512 * 1024); |
| . = ALIGN(4096); |
| exec_region_end = .; |
| } |
| .plt : { |
| *(.plt) |
| } |
| /* Align following segments on the page boundary to prevent |
| * next PT_LOAD segment from mapping over .plt section removing |
| * executable flag from .plt. See also http://b/254823538. |
| */ |
| . = ALIGN(4096); |
| .fini_array : { |
| *(.fini_array.*) |
| } |
| .init_array : { |
| *(.ini_array.*) |
| } |
| .dynamic : { |
| *(.dynamic) |
| } |
| .got : { |
| *(.got) |
| } |
| .got.plt : { |
| *(.got.plt) |
| } |
| /* Align the rest of segments on the page boundary to prevent |
| * GNU_RELRO segment from mprotecting writable flag away |
| * from them. See also http://b/261807330. |
| */ |
| . = ALIGN(4096); |
| } |