(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ARCH) op: assign_op.Equal rhs: {<aarch64>} spids: [0] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE) op: assign_op.Equal rhs: (word.Empty) spids: [3] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:NOP) op:assign_op.Equal rhs:{<0>} spids:[5])] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SCRIPT_NAME) op: assign_op.Equal rhs: {<elf>} spids: [9] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ELFSIZE) op: assign_op.Equal rhs: {<64>} spids: [12] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OUTPUT_FORMAT) op: assign_op.Equal rhs: {(DQ <elf64-littleaarch64>)} spids: [15] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BIG_OUTPUT_FORMAT) op: assign_op.Equal rhs: {(DQ <elf64-bigaarch64>)} spids: [20] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LITTLE_OUTPUT_FORMAT) op: assign_op.Equal rhs: {(DQ <elf64-littleaarch64>)} spids: [25] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NO_REL_RELOCS) op: assign_op.Equal rhs: {<yes>} spids: [30] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TEMPLATE_NAME) op: assign_op.Equal rhs: {<elf32>} spids: [34] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:EXTRA_EM_FILE) op: assign_op.Equal rhs: {<aarch64elf>} spids: [37] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GENERATE_SHLIB_SCRIPT) op: assign_op.Equal rhs: {<yes>} spids: [41] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GENERATE_PIE_SCRIPT) op: assign_op.Equal rhs: {<yes>} spids: [44] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAXPAGESIZE) op: assign_op.Equal rhs: {(DQ <'CONSTANT (MAXPAGESIZE)'>)} spids: [48] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMMONPAGESIZE) op: assign_op.Equal rhs: {(DQ <'CONSTANT (COMMONPAGESIZE)'>)} spids: [53] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SEPARATE_GOTPLT) op: assign_op.Equal rhs: {<24>} spids: [58] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IREL_IN_PLT) op: assign_op.Equal rhs: (word.Empty) spids: [61] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TEXT_START_ADDR) op: assign_op.Equal rhs: {<0x400000>} spids: [64] ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DATA_START_SYMBOLS) op: assign_op.Equal rhs: {(SQ <'PROVIDE (__data_start = .);'>)} spids: [68] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NO_SMALL_DATA) op: assign_op.Equal rhs: {<yes>} spids: [78] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OTHER_BSS_SYMBOLS) op: assign_op.Equal rhs: {(SQ <'__bss_start__ = .;'>)} spids: [82] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OTHER_BSS_END_SYMBOLS) op: assign_op.Equal rhs: {(SQ <'_bss_end__ = . ; __bss_end__ = . ;'>)} spids: [87] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OTHER_END_SYMBOLS) op: assign_op.Equal rhs: {(SQ <'__end__ = . ;'>)} spids: [92] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OTHER_SECTIONS) op: assign_op.Equal rhs: {(SQ <'.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'>)} spids: [98] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ATTRS_SECTIONS) op: assign_op.Equal rhs: {(SQ <'.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }'>)} spids: [103] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PLT) op: assign_op.Equal rhs: { (DQ <'.plt '> (braced_var_sub token: <Id.VSub_Name RELOCATING> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<0>}) ) <' : ALIGN(16) { *(.plt)'> (braced_var_sub token: <Id.VSub_Name IREL_IN_PLT> suffix_op: (suffix_op.Unary tok:<Id.VTest_Plus '+'> arg_word:{<' *(.iplt)'>}) ) <' }'> ) } spids: [111] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$target'))} arms: [ (case_arm pat_list: [{<aarch64> <Id.Lit_Star '*'> <-linux> <Id.Lit_Star '*'>}] action: [ (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$EMULATION_NAME'))} arms: [ (case_arm pat_list: [{<aarch64linux> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LIBPATH_SUFFIX) op: assign_op.Equal rhs: {<64>} spids: [164] ) ] ) ] spids: [160 162 167 -1] ) ] ) ] spids: [144 148 173 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ELF_INTERPRETER_NAME) op: assign_op.Equal rhs: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'/lib/ld-linux-aarch64.so.1'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) } spids: [178] ) ] ) ] )