(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SCRIPT_NAME) op: assign_op.Equal rhs: {<elf>} spids: [10] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OUTPUT_FORMAT) op: assign_op.Equal rhs: {(DQ <elf32-bigmips>)} spids: [13] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BIG_OUTPUT_FORMAT) op: assign_op.Equal rhs: {(DQ <elf32-bigmips>)} spids: [18] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LITTLE_OUTPUT_FORMAT) op: assign_op.Equal rhs: {(DQ <elf32-littlemips>)} spids: [23] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TEXT_START_ADDR) op: assign_op.Equal rhs: {<0x0400000>} spids: [28] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-n>} {(DQ (${ Id.VSub_Name EMBEDDED))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DATA_ADDR) op: assign_op.Equal rhs: {<0x10000000>} spids: [43] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAXPAGESIZE) op: assign_op.Equal rhs: {(DQ <'CONSTANT (MAXPAGESIZE)'>)} spids: [46] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMMONPAGESIZE) op: assign_op.Equal rhs: {(DQ <'CONSTANT (COMMONPAGESIZE)'>)} spids: [51] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SHLIB_TEXT_START_ADDR) op: assign_op.Equal rhs: {<0x5ffe0000>} spids: [56] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TEXT_DYNAMIC) op: assign_op.Equal rhs: (word.Empty) spids: [59] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INITIAL_READONLY_SECTIONS) op: assign_op.Equal rhs: (word.Empty) spids: [61] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-z>} {(DQ (${ Id.VSub_Name CREATE_SHLIB))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INITIAL_READONLY_SECTIONS) op: assign_op.Equal rhs: { (DQ <'.interp '> (braced_var_sub token: <Id.VSub_Name RELOCATING> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<0>}) ) <' : { *(.interp) }'> ) } spids: [79] ) ] ) ] spids: [63 76] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INITIAL_READONLY_SECTIONS) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name INITIAL_READONLY_SECTIONS) <'\n'> <' .MIPS.abiflags '> (braced_var_sub token: <Id.VSub_Name RELOCATING> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<0>}) ) <' : { *(.MIPS.abiflags) }\n'> <' .reginfo '> (braced_var_sub token: <Id.VSub_Name RELOCATING> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<0>}) ) <' : { *(.reginfo) }\n'> ) } spids: [92] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OTHER_TEXT_SECTIONS) op: assign_op.Equal rhs: {(SQ <'*(.mips16.fn.*) *(.mips16.call.*)'>)} spids: [114] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OTHER_GOT_RELOC_SECTIONS) op: assign_op.Equal rhs: { (DQ <'\n'> <' .rel.dyn '> (braced_var_sub token: <Id.VSub_Name RELOCATING> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<0>}) ) <' : { *(.rel.dyn) }\n'> ) } spids: [131] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OTHER_GOT_SYMBOLS) op: assign_op.Equal rhs: {(SQ <'\n'> <' . = .;\n'> <' HIDDEN (_gp = ALIGN (16) + 0x7ff0);\n'>)} spids: [155] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GOT) op: assign_op.Equal rhs: { (DQ <'.got '> (braced_var_sub token: <Id.VSub_Name RELOCATING> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<0>}) ) <' : { *(.got) }'> ) } spids: [192] ) ] ) (C {<unset>} {<OTHER_READWRITE_SECTIONS>}) (C {<unset>} {<OTHER_RELRO_SECTIONS>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$RELRO_NOW'))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OTHER_RELRO_SECTIONS) op: assign_op.Equal rhs: { (DQ <'.got.plt '> (braced_var_sub token: <Id.VSub_Name RELOCATING> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<0>}) ) <' : { *(.got.plt) }'> ) } spids: [225] ) ] ) ] spids: [211 222] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OTHER_READWRITE_SECTIONS) op: assign_op.Equal rhs: { (DQ <'.got.plt '> (braced_var_sub token: <Id.VSub_Name RELOCATING> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<0>}) ) <' : { *(.got.plt) }'> ) } spids: [239] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OTHER_SDATA_SECTIONS) op: assign_op.Equal rhs: { (DQ <'\n'> <' .lit8 '> (braced_var_sub token: <Id.VSub_Name RELOCATING> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<0>}) ) <' : { *(.lit8) }\n'> <' .lit4 '> (braced_var_sub token: <Id.VSub_Name RELOCATING> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{<0>}) ) <' : { *(.lit4) }\n'> ) } spids: [253] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TEXT_START_SYMBOLS) op: assign_op.Equal rhs: {(SQ <'_ftext = . ;'>)} spids: [272] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DATA_START_SYMBOLS) op: assign_op.Equal rhs: {(SQ <'_fdata = . ;'>)} spids: [277] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OTHER_BSS_SYMBOLS) op: assign_op.Equal rhs: {(SQ <'_fbss = .;'>)} spids: [282] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OTHER_SECTIONS) op: assign_op.Equal rhs: { (SQ <'\n'> <' .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }\n'> <' .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }\n'> <' .mdebug.abi32 0 : { KEEP(*(.mdebug.abi32)) }\n'> <' .mdebug.abiN32 0 : { KEEP(*(.mdebug.abiN32)) }\n'> <' .mdebug.abi64 0 : { KEEP(*(.mdebug.abi64)) }\n'> <' .mdebug.abiO64 0 : { KEEP(*(.mdebug.abiO64)) }\n'> <' .mdebug.eabi32 0 : { KEEP(*(.mdebug.eabi32)) }\n'> <' .mdebug.eabi64 0 : { KEEP(*(.mdebug.eabi64)) }\n'> <' .gcc_compiled_long32 0 : { KEEP(*(.gcc_compiled_long32)) }\n'> <' .gcc_compiled_long64 0 : { KEEP(*(.gcc_compiled_long64)) }\n'> ) } spids: [287] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ARCH) op: assign_op.Equal rhs: {<mips>} spids: [302] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE) op: assign_op.Equal rhs: (word.Empty) spids: [305] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TEMPLATE_NAME) op: assign_op.Equal rhs: {<elf32>} spids: [307] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:EXTRA_EM_FILE) op: assign_op.Equal rhs: {<mipself>} spids: [310] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GENERATE_SHLIB_SCRIPT) op: assign_op.Equal rhs: {<yes>} spids: [313] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GENERATE_PIE_SCRIPT) op: assign_op.Equal rhs: {<yes>} spids: [316] ) ] ) ] )