[PATCH] D144653: [BOLT][AArch64] ST_Function symbols start a CODE interval

Sebastian Pop via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 10 17:14:42 PDT 2023


sebpop added a comment.

My colleague Jonathan Swinney helped reduce a testcase:

  $ cat 
  main:
          bl bar
          mov     w0, 0
          ret
  $d:
          .string "a b c d"
          .word 10
  bar:
          ret
  
  $ gcc h.s
  $ objdump -d a.out
  [...]
  0000000000400564 <main>:
    400564:	94000006 	bl	40057c <bar>
    400568:	52800000 	mov	w0, #0x0                   	// #0
    40056c:	d65f03c0 	ret
    400570:	20622061 	.word	0x20622061
    400574:	00642063 	.word	0x00642063
    400578:	0000000a 	.word	0x0000000a
  
  000000000040057c <bar>:
    40057c:	d65f03c0 	ret
  [...]

The transition from data section back to executable code happens on new symbol as described in IHI0056B
https://static1.squarespace.com/static/59c4375b8a02c798d1cce06f/t/59d55a7bf5e2319471bb94a4/1507154557709/ELF+for+ARM64.pdf
I will add a testcase to the patch based on this.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D144653/new/

https://reviews.llvm.org/D144653



More information about the llvm-commits mailing list