| SECTIONS | |
| { | |
| .text : { | |
| PROVIDE_HIDDEN(BORINGSSL_bcm_text_start = .); | |
| *(.text) | |
| *(.text.unlikely.*) | |
| /* C++ `inline` symbols are normally placed in their own sections to be | |
| * deduplicated. Undo this. See also .group handling above. */ | |
| *(.text.*) | |
| PROVIDE_HIDDEN(BORINGSSL_bcm_text_end = .); | |
| } | |
| .rodata : { | |
| PROVIDE_HIDDEN(BORINGSSL_bcm_rodata_start = .); | |
| *(.rodata) | |
| *(.rodata.*) | |
| PROVIDE_HIDDEN(BORINGSSL_bcm_rodata_end = .); | |
| } | |
| /* When multiple sections are merged, their corresponding relocation sections | |
| * need to be merged as well. Older architectures (e.g. 32-bit Arm) tend to | |
| * use .rel and newer ones (e.g. 64-bit Arm) tend to use .rela. */ | |
| .rel.text : { | |
| *(.rel.text) | |
| *(.rel.text.unlikely.*) | |
| *(.rel.text.*) | |
| } | |
| .rela.text : { | |
| *(.rela.text) | |
| *(.rela.text.unlikely.*) | |
| *(.rela.text.*) | |
| } | |
| .rel.rodata : { | |
| *(.rel.rodata) | |
| *(.rel.rodata.*) | |
| } | |
| .rela.rodata : { | |
| *(.rela.rodata) | |
| *(.rela.rodata.*) | |
| } | |
| /DISCARD/ : { | |
| /* These sections shouldn't exist. In order to catch any slip-ups, direct | |
| * the linker to discard them. */ | |
| *(.rel.dyn) | |
| *(.rela.dyn) | |
| *(.data) | |
| *(.rel.ro) | |
| *(.rela.ro) | |
| *(*.data.*) | |
| /* Drop section groups. C++ `inline` symbols go in dedicated sections in | |
| * COMDAT section groups. When we merge these sections above, drop the | |
| * COMDAT grouping. Otherwise the linker seems to place .text in the group. | |
| * See b/537726817. */ | |
| *(.group) | |
| } | |
| } |