[0-9]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
.*: d503201f nop
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d61f0220 br x17
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d61f0220 br x17
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401a11 ldr x17, \[x16, #48\]
.*: 9100c210 add x16, x16, #0x30
.*: d61f0220 br x17
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401e11 ldr x17, \[x16, #56\]
.*: 9100e210 add x16, x16, #0x38
.*: d61f0220 br x17
0000000000018000 <\.plt>:
18000: d503245f bti c
18004: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
- 18008: 900000d0 adrp x16, 30000 <_GLOBAL_OFFSET_TABLE_>
+ 18008: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
1800c: f9400e11 ldr x17, \[x16, #24\]
18010: 91006210 add x16, x16, #0x18
18014: d61f0220 br x17
1801c: d503201f nop
0000000000018020 <foo@plt>:
- 18020: 900000d0 adrp x16, 30000 <_GLOBAL_OFFSET_TABLE_>
+ 18020: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
18024: f9401211 ldr x17, \[x16, #32\]
18028: 91008210 add x16, x16, #0x20
1802c: d61f0220 br x17
0000000000018000 <\.plt>:
18000: d503245f bti c
18004: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
- 18008: 900000d0 adrp x16, 30000 <_GLOBAL_OFFSET_TABLE_>
+ 18008: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
1800c: f9400e11 ldr x17, \[x16, #24\]
18010: 91006210 add x16, x16, #0x18
18014: d61f0220 br x17
1801c: d503201f nop
0000000000018020 <foo@plt>:
- 18020: 900000d0 adrp x16, 30000 <_GLOBAL_OFFSET_TABLE_>
+ 18020: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
18024: f9401211 ldr x17, \[x16, #32\]
18028: 91008210 add x16, x16, #0x20
1802c: d61f0220 br x17
ENTRY(_start)
SECTIONS
{
+ PROVIDE(__executable_start = 0x8000);
+ . = SEGMENT_START("text-segment", 0x8000) + SIZEOF_HEADERS;
+ /* Start of the executable code region. */
+ .hash : { *(.hash) }
+ .gnu.hash : { *(.gnu.hash) }
+ .dynsym : { *(.dynsym) }
+ .dynstr : { *(.dynstr) }
. = 0x10000;
- .rela.plt : { *(.rela.plt) *(.rela.iplt) }
+ .rela.dyn : { *(.rela.ifunc) }
+ .rela.plt : { *(.rela.plt) *(.rela.iplt) }
. = 0x18000;
- .plt : { *(.plt) *(.iplt) }
+ .plt : { *(.plt) *(.iplt) }
. = 0x20000;
- .text : { *(.text) }
- . = 0x30000;
- .got : { *(.got) *(.got.plt) }
+ .text : { *(.text) }
. = 0x12340000;
- .far : { *(.far) }
+ .far : { *(.far) }
+ /* Start of the Read Only Data region. */
+ .note.gnu-property : { *(.note.gnu-property) }
+
+ /* Start of the Read Write Data region. */
+ . = ALIGN (CONSTANT (MAXPAGESIZE));
+ .got : { *(.got) *(.got.plt) }
+ /* Start of the metadata region. */
+ .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) }
}
[0-9a-f]+ <\.plt>:
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
.*: d503201f nop
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d61f0220 br x17
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d61f0220 br x17
[0-9a-f]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
.*: d503201f nop
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d61f0220 br x17
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d61f0220 br x17
[0-9a-f]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
.*: d503201f nop
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d503219f autia1716
.*: d503201f nop
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d503219f autia1716
[0-9]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
[0-9]+ <.*>:
.*: d503245f bti c
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d503219f autia1716
[0-9]+ <.*>:
.*: d503245f bti c
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d503219f autia1716
[0-9a-f]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
.*: d503201f nop
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d503219f autia1716
.*: d503201f nop
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d503219f autia1716
[0-9]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
[0-9]+ <.*>:
.*: d503245f bti c
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d503219f autia1716
[0-9]+ <.*>:
.*: d503245f bti c
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d503219f autia1716
[0-9]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
.*: d503201f nop
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d61f0220 br x17
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d61f0220 br x17
[0-9]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
.*: d503201f nop
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d61f0220 br x17
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d61f0220 br x17
[0-9]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
.*: d503201f nop
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d61f0220 br x17
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d61f0220 br x17
[0-9]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
[0-9]+ <.*>:
.*: d503245f bti c
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d61f0220 br x17
[0-9]+ <.*>:
.*: d503245f bti c
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d61f0220 br x17
ENTRY(_start)
SECTIONS
{
+ PROVIDE(__executable_start = 0x8000);
+ . = SEGMENT_START("text-segment", 0x8000) + SIZEOF_HEADERS;
+ /* Start of the executable code region. */
+ .hash : { *(.hash) }
+ .gnu.hash : { *(.gnu.hash) }
+ .dynsym : { *(.dynsym) }
+ .dynstr : { *(.dynstr) }
. = 0x10000;
- .rela.plt : { *(.rela.plt) *(.rela.iplt) }
+ .rela.dyn : { *(.rela.ifunc) }
+ .rela.plt : { *(.rela.plt) *(.rela.iplt) }
. = 0x18000;
- .plt : { *(.plt) *(.iplt) }
+ .plt : { *(.plt) *(.iplt) }
. = 0x20000;
- .text : { *(.text) }
- . = 0x28000;
- .got : { *(.got) *(.got.plt) }
- .ARM.attributes 0 : { *(.ARM.attributes) }
+ .text : { *(.text) }
+ /* Start of the Read Only Data region. */
+ .note.gnu-property : { *(.note.gnu-property) }
+
+ /* Start of the Read Write Data region. */
+ . = ALIGN (CONSTANT (MAXPAGESIZE));
+ .got : { *(.got) *(.got.plt) }
+ /* Start of the metadata region. */
+ .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) }
}
[0-9]+ <.*>:
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
.*: d503201f nop
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d503219f autia1716
.*: d503201f nop
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d503219f autia1716
[0-9a-f]+ <\.plt>:
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
.*: d503201f nop
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d61f0220 br x17
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d61f0220 br x17
.* \<.plt\>:
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401a11 ldr x17, \[x16, #48\]
.*: 9100c210 add x16, x16, #0x30
.*: d61f0220 br x17
.* \<__tls_get_addr@plt\>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401e11 ldr x17, \[x16, #56\]
.*: 9100e210 add x16, x16, #0x38
.*: d503219f autia1716