(CommandList children: [ (FuncDef name: this_filename body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ctr) op:Equal rhs:{(0)} spids:[16])] spids: [16] ) (While cond: [(Sentence child:(C {(true)}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$ctr')}) ) spids: [35 40] ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ("Error: couldn't find this_filename"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[55])] ) (C {(exit)} {(1)}) ] spids: [-1 46] ) ] spids: [-1 64] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$ctr')}) ) spids: [72 77] ) ) } right: {(DQ (this_filename))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (BracedVarSub token: <VSub_Name BASH_SOURCE> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$ctr')})) spids: [94 99] ) } ) (C {(exit)} {(0)}) ] spids: [-1 89] ) ] spids: [-1 107] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ctr) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$ctr')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [111 120] ) } spids: [110] ) ] spids: [110] ) ] spids: [25 123] ) ) ] spids: [9] ) spids: [4 8] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LIBALLOCS_BASE) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name LIBALLOCS_BASE> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (CommandSubPart command_list: (CommandList children: [ (C {(dirname)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(this_filename)})] ) left_token: <Left_CommandSub '$('> spids: [138 140] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [133 143] ) (Lit_Slash /) (..) } ) spids: [130 146] ) ) } spids: [128] ) ] spids: [128] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USEDTYPES) op: Equal rhs: { (BracedVarSub token: <VSub_Name USEDTYPES> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(${ VSub_Name LIBALLOCS_BASE) (Lit_Slash /) (tools) (Lit_Slash /) (usedtypes)} ) spids: [150 160] ) } spids: [149] ) ] spids: [149] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BASE_TYPES_TRANSLATION) op: Equal rhs: { (BracedVarSub token: <VSub_Name BASE_TYPES_TRANSLATION> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(${ VSub_Name LIBALLOCS_BASE) (Lit_Slash /) (tools) (Lit_Slash /) (lang) (Lit_Slash /) (c) (Lit_Slash /) (bin) (Lit_Slash /) (base-types-translation) } ) spids: [163 179] ) } spids: [162] ) ] spids: [162] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CC) op: Equal rhs: { (BracedVarSub token: <VSub_Name CC> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (CommandSubPart command_list: (CommandList children:[(C {(which)} {(cc)})]) left_token: <Left_CommandSub '$('> spids: [185 189] ) } ) spids: [182 190] ) } spids: [181] ) ] spids: [181] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LD) op: Equal rhs: { (BracedVarSub token: <VSub_Name LD> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (CommandSubPart command_list: (CommandList children:[(C {(which)} {(ld)})]) left_token: <Left_CommandSub '$('> spids: [196 200] ) } ) spids: [193 201] ) } spids: [192] ) ] spids: [192] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OBJCOPY) op: Equal rhs: { (BracedVarSub token: <VSub_Name OBJCOPY> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (CommandSubPart command_list: (CommandList children:[(C {(which)} {(objcopy)})]) left_token: <Left_CommandSub '$('> spids: [207 211] ) } ) spids: [204 212] ) } spids: [203] ) ] spids: [203] ) (FuncDef name: compile body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:src) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [223] ) ] spids: [223] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dest) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [229] ) ] spids: [229] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:asm) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(mktemp)} {(--suffix) (Lit_Other '=') (.s)})] ) left_token: <Left_CommandSub '$('> spids: [237 245] ) ) } spids: [235] ) ] spids: [235] ) (AndOr children: [ (C {(gcc)} {(-S)} {(-x)} {(c)} {(-o)} {(DQ ($ VSub_Name '$asm'))} {(DQ ($ VSub_Name '$src'))}) (AndOr children: [ (C {(gcc)} {(-c)} {(-o)} {(DQ ($ VSub_Name '$dest'))} {(DQ ($ VSub_Name '$asm'))}) (SimpleCommand words: [{(echo)} {(DQ ('Compiler generated ') ($ VSub_Name '$dest'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[300])] ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] spids: [220] ) spids: [215 219] ) (FuncDef name: link_defining_aliases body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:our_objfile) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [314] ) ] spids: [314] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:our_usedtypes_obj) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [320] ) ] spids: [320] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:temporary_out) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(mktemp)})]) left_token: <Left_CommandSub '$('> spids: [327 331] ) } spids: [326] ) ] spids: [326] ) (AndOr children: [ (C {(${ VSub_Name LD)} {(-o)} {(DQ ($ VSub_Name '$temporary_out'))} {(-r)} {(DQ ($ VSub_Name '$our_objfile'))} {(DQ ($ VSub_Name '$our_usedtypes_obj'))} ) (AndOr children: [ (SimpleCommand words: [ {(echo)} { (DQ ('Linker generated ') (${ VSub_Name temporary_out) (', moving to ') (${ VSub_Name our_objfile) ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[383])] ) (C {(mv)} {(DQ ($ VSub_Name '$temporary_out'))} {(DQ ($ VSub_Name '$our_objfile'))}) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] spids: [311] ) spids: [306 310] ) (FuncDef name: symbol_redefinitions body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:f) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [411] ) ] spids: [411] ) (Pipeline children: [ (C {(nm)} {(-fposix)} {(--defined-only)} {(DQ ($ VSub_Name '$f'))}) (C {(tr)} {(-s)} {(SQ <'[:blank:]'>)} {(SQ <'\\t'>)}) (C {(cut)} {(-f1)}) (C {(egrep)} {(SQ <'__uniqtype_([0-9a-f]{8})_'>)}) (C {(sed)} {(-r)} { (SQ < 's/__uniqtype_([0-9a-f]{8})_(.*)/--redefine-sym __uniqtype__\\2=__uniqtype_\\1_\\2/' > ) } ) ] negated: False ) ] spids: [408] ) spids: [403 407] ) (FuncDef name: objcopy_and_redefine_codeless_names body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:our_objfile) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [488] ) ] spids: [488] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:our_usedtypes_obj) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [494] ) ] spids: [494] ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:second_redefinition_args) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(symbol_redefinitions)} {(DQ ($ VSub_Name '$our_usedtypes_obj'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [508 516] ) ) } spids: [506] ) ] spids: [506] ) (AndOr children: [ (SimpleCommand words: [ {(echo)} {(${ VSub_Name OBJCOPY)} {($ VSub_Name '$second_redefinition_args')} {(DQ ($ VSub_Name '$our_objfile'))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[535])] ) (AndOr children: [ (C {(${ VSub_Name OBJCOPY)} {($ VSub_Name '$second_redefinition_args')} {(DQ ($ VSub_Name '$our_objfile'))} ) (SimpleCommand words: [ {(echo)} { (DQ ('objcopy renamed symbols in ') ($ VSub_Name '$our_objfile') (' according to ') ($ VSub_Name '$second_redefinition_args') ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[565])] ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] spids: [485] ) spids: [480 484] ) ] )