(command.CommandList children: [ (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {(${ Id.VSub_Name srcdir) <'/emulparams/plt_unwind.sh'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {(${ Id.VSub_Name srcdir) <'/emulparams/extern_protected_data.sh'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {(${ Id.VSub_Name srcdir) <'/emulparams/call_nop.sh'>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'SCRIPT_NAME='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SCRIPT_NAME='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SCRIPT_NAME='> name:SCRIPT_NAME) op: assign_op.Equal rhs: {<elf>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ELFSIZE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ELFSIZE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ELFSIZE='> name:ELFSIZE) op: assign_op.Equal rhs: {<64>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'OUTPUT_FORMAT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'OUTPUT_FORMAT='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OUTPUT_FORMAT='> name:OUTPUT_FORMAT) op: assign_op.Equal rhs: {(DQ <elf64-x86-64>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'NO_REL_RELOCS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NO_REL_RELOCS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NO_REL_RELOCS='> name:NO_REL_RELOCS) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'TEXT_START_ADDR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TEXT_START_ADDR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEXT_START_ADDR='> name:TEXT_START_ADDR) op: assign_op.Equal rhs: {<0x400000>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'MAXPAGESIZE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MAXPAGESIZE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAXPAGESIZE='> name:MAXPAGESIZE) op: assign_op.Equal rhs: {(DQ <'CONSTANT (MAXPAGESIZE)'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'COMMONPAGESIZE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'COMMONPAGESIZE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COMMONPAGESIZE='> name:COMMONPAGESIZE) op: assign_op.Equal rhs: {(DQ <'CONSTANT (COMMONPAGESIZE)'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ARCH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ARCH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARCH='> name:ARCH) op: assign_op.Equal rhs: {(DQ <'i386:x86-64'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'MACHINE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MACHINE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MACHINE='> name:MACHINE) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'TEMPLATE_NAME='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TEMPLATE_NAME='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEMPLATE_NAME='> name:TEMPLATE_NAME) op: assign_op.Equal rhs: {<elf32>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'GENERATE_SHLIB_SCRIPT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'GENERATE_SHLIB_SCRIPT='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'GENERATE_SHLIB_SCRIPT='> name: GENERATE_SHLIB_SCRIPT ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'GENERATE_PIE_SCRIPT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'GENERATE_PIE_SCRIPT='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'GENERATE_PIE_SCRIPT='> name: GENERATE_PIE_SCRIPT ) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'NO_SMALL_DATA='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NO_SMALL_DATA='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NO_SMALL_DATA='> name:NO_SMALL_DATA) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'LARGE_SECTIONS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LARGE_SECTIONS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LARGE_SECTIONS='> name:LARGE_SECTIONS) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'LARGE_BSS_AFTER_BSS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LARGE_BSS_AFTER_BSS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'LARGE_BSS_AFTER_BSS='> name: LARGE_BSS_AFTER_BSS ) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'SEPARATE_GOTPLT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SEPARATE_GOTPLT='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SEPARATE_GOTPLT='> name:SEPARATE_GOTPLT) op: assign_op.Equal rhs: {(DQ <'SIZEOF (.got.plt) >= 24 ? 24 : 0'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IREL_IN_PLT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IREL_IN_PLT='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IREL_IN_PLT='> name:IREL_IN_PLT) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'TINY_READONLY_SECTION='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TINY_READONLY_SECTION='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TINY_READONLY_SECTION='> name: TINY_READONLY_SECTION ) op: assign_op.Equal rhs: { (DQ <'\n'> <'.plt.got '> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name RELOCATING> var_name: RELOCATING suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) <' : { *(.plt.got) }\n'> <'.plt.bnd '> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name RELOCATING> var_name: RELOCATING suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) <' : { *(.plt.bnd) }\n'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ <x> (${ Id.VSub_Name host))} {<Id.Lit_Equals '='>} {(DQ <x> (${ Id.VSub_Name target))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ <' '> ($ Id.VSub_DollarName EMULATION_LIBPATH) <' '>)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> (DQ <' '> (${ Id.VSub_Name EMULATION_NAME) <' '>) <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'NATIVE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NATIVE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NATIVE='> name:NATIVE) op: assign_op.Equal rhs: {<yes>} ) ] redirects: [] ) ] ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [102 125] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName target))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <x86_64> pattern: (pat.Words words: [ {<x86_64> <Id.Lit_Star '*'> <-linux> <Id.Lit_Star '*'>} {<Id.Lit_ArrayLhsOpen 'i['> <3-7> <Id.Lit_RBracket ']'> <86-> <Id.Lit_Star '*'> <-linux-> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName EMULATION_NAME))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <64> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'LIBPATH_SUFFIX='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LIBPATH_SUFFIX='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'LIBPATH_SUFFIX='> name: LIBPATH_SUFFIX ) op: assign_op.Equal rhs: {<64>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'PARSE_AND_LIST_OPTIONS_BNDPLT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PARSE_AND_LIST_OPTIONS_BNDPLT='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'PARSE_AND_LIST_OPTIONS_BNDPLT='> name: PARSE_AND_LIST_OPTIONS_BNDPLT ) op: assign_op.Equal rhs: { (SQ <'\n'> <' fprintf (file, _("\\\n'> < ' -z bndplt Always generate BND prefix in PLT entries\\n"));\n' > ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT='> name: PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT ) op: assign_op.Equal rhs: { (SQ <'\n'> <' else if (strcmp (optarg, "bndplt") == 0)\n'> <'\tlink_info.bndplt = TRUE;\n'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'PARSE_AND_LIST_OPTIONS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PARSE_AND_LIST_OPTIONS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'PARSE_AND_LIST_OPTIONS='> name: PARSE_AND_LIST_OPTIONS ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName PARSE_AND_LIST_OPTIONS) <' '> ($ Id.VSub_DollarName PARSE_AND_LIST_OPTIONS_BNDPLT) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'PARSE_AND_LIST_ARGS_CASE_Z='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PARSE_AND_LIST_ARGS_CASE_Z='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'PARSE_AND_LIST_ARGS_CASE_Z='> name: PARSE_AND_LIST_ARGS_CASE_Z ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName PARSE_AND_LIST_ARGS_CASE_Z) <' '> ($ Id.VSub_DollarName PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [{<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-solaris2> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'LIBPATH_SUFFIX='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LIBPATH_SUFFIX='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LIBPATH_SUFFIX='> name:LIBPATH_SUFFIX) op: assign_op.Equal rhs: {<'/amd64'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ELF_INTERPRETER_NAME='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ELF_INTERPRETER_NAME='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'ELF_INTERPRETER_NAME='> name: ELF_INTERPRETER_NAME ) op: assign_op.Equal rhs: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'/lib/amd64/ld.so.1'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] )