|  | # Copyright Microsoft and CHERIoT Contributors. | 
|  | # SPDX-License-Identifier: MIT | 
|  |  | 
|  | SECTIONS | 
|  | { | 
|  | . = 0; | 
|  | .compartment_export_table : ALIGN(8) | 
|  | { | 
|  | # Space for the compartment's PCC and GDC | 
|  | . = . + 16; | 
|  | # And no compartment error handler.  See the | 
|  | # compartment_export_table section in sdk/compartment.ldscript | 
|  | # and errorHandler in the sdk/core/switcher | 
|  | LONG(-1); | 
|  | # Array of compartment exports | 
|  | *(.compartment_exports); | 
|  | } | 
|  | # Lay out the code.  We ensure that the three capabilities that are used | 
|  | # for scanning memory are provided. | 
|  | .text : | 
|  | { | 
|  | HIDDEN(__compartment_pcc_start = .); | 
|  | *(.text .text.*); | 
|  | *(.data.rel.ro); | 
|  | *(.rodata .rodata.*); | 
|  | } | 
|  | # Lay out all of the globals. | 
|  | .data : | 
|  | { | 
|  | *(.data .data.*); | 
|  | *(.sdata .sdata.*); | 
|  | *(.bss .bss.*); | 
|  | *(.sbss .sbss.*); | 
|  | } | 
|  | # Throw some stuff away that we don't need. | 
|  | /DISCARD/ : | 
|  | { | 
|  | *(.comment); | 
|  | } | 
|  | } |