(command.CommandList children: [ (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:thisdir) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [112] ) ] ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] ) (C {<echo>} {(SQ )}) (C {<echo>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\#'>) <Id.Lit_Pound '#'> <Id.Lit_Pound '#'> <Id.Lit_Pound '#'> } {<DIRECTORY>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$thisdir')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sysdirs) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.ForEach iter_name: dir iter_words: [{($ Id.VSub_DollarName '$sysdirs')}] do_arg_iter: F body: (command.DoGroup children: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$dir')} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$thisdir')} ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<echo>} {($ Id.VSub_DollarName '$dir')}) terminator: <Id.Op_Semi _> ) ] ) ) ] ) ) } spids: [146] ) ] ) (C {<echo>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\#'>) <Id.Lit_Pound '#'> <Id.Lit_Pound '#'> <Id.Lit_Pound '#'> } {<SYSDIRS>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$sysdirs')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:calls) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (C {<sed>} {(SQ <'s/#.*$//\n'> <'/^[ \t]*$/d'>)} {($ Id.VSub_DollarName '$thisdir') </syscalls.list>} ) ] ) ) } spids: [201] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:calls) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$calls'))}) (command.WhileUntil keyword: <Id.KW_While while> cond: [ (command.Sentence child: (C {<read>} {<file>} {<caller>} {<rest>}) terminator: <Id.Op_Semi _> ) ] body: (command.DoGroup children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:srcfile) op: assign_op.Equal rhs: {<->} spids: [270] ) ] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ForEach iter_name: dir iter_words: [{($ Id.VSub_DollarName '$sysdirs')}] do_arg_iter: F body: (command.DoGroup children: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DPipe Id.Op_DPipe Id.Op_DAmp] children: [ (command.BraceGroup children: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-f>} {($ Id.VSub_DollarName '$dir') </> ($ Id.VSub_DollarName '$file') <.c> } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: srcfile ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName '$dir' ) </> ($ Id.VSub_DollarName '$file') <.c> } spids: [300] ) ] ) ] ) terminator: <Id.Op_Semi _> ) ] ) (command.BraceGroup children: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-f>} {($ Id.VSub_DollarName '$dir') </> ($ Id.VSub_DollarName '$file') <.S> } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: srcfile ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName '$dir' ) </> ($ Id.VSub_DollarName '$file') <.S> } spids: [325] ) ] ) ] ) terminator: <Id.Op_Semi _> ) ] ) (command.BraceGroup children: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<x> ($ Id.VSub_DollarName '$caller') } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<x->} ) (command.BraceGroup children: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DPipe] children: [ (command.BraceGroup children: [ (command.Sentence child: (command.AndOr ops: [ Id.Op_DAmp ] children: [ (C {<test>} {<-f>} {($ Id.VSub_DollarName '$dir') </> ($ Id.VSub_DollarName '$caller') <.c>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: srcfile ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName '$dir' ) </> ($ Id.VSub_DollarName '$caller') <.c> } spids: [ 367 ] ) ] ) ] ) terminator: <Id.Op_Semi _> ) ] ) (command.BraceGroup children: [ (command.Sentence child: (command.AndOr ops: [ Id.Op_DAmp ] children: [ (C {<test>} {<-f>} {($ Id.VSub_DollarName '$dir') </> ($ Id.VSub_DollarName '$caller') <.S>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: srcfile ) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName '$dir' ) </> ($ Id.VSub_DollarName '$caller') <.S> } spids: [ 392 ] ) ] ) ] ) terminator: <Id.Op_Semi _> ) ] ) ] ) terminator: <Id.Op_Semi _> ) ] ) ] ) terminator: <Id.Op_Semi _> ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] ) terminator: <Id.Op_Semi _> ) ] ) ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<echo>} {($ Id.VSub_DollarName '$file')} {($ Id.VSub_DollarName '$srcfile')} {($ Id.VSub_DollarName '$caller')} {($ Id.VSub_DollarName '$rest')} ) terminator: <Id.Op_Semi _> ) ] ) ) ] negated: F ) ] ) ) } spids: [218] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$calls'))}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] ) (command.ShFunction name: emit_weak_aliases body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vcount) op: assign_op.Equal rhs: {(DQ )} spids: [468] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$any_versioned')} {<Id.Lit_Equals '='>} {<t>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} { (DQ <"\t echo '#include <shlib-compat.h>'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) ) } ) ] spids: [494 507] ) ] ) (command.ForEach iter_name: name iter_words: [{($ Id.VSub_DollarName '$weak')}] do_arg_iter: F body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName '$name')} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <Id.Lit_Other '@'> <Id.Lit_Other '@'> <Id.Lit_Star '*'>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:base) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$name')}) (C {<sed>} {(SQ <'s/@@.*//'>)}) ] negated: F ) ] ) ) } spids: [548] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ver) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$name')}) (C {<sed>} {(SQ <'s/.*@@//;s/\\./_/g'>)}) ] negated: F ) ] ) ) } spids: [566] ) ] ) (C {<echo>} { (DQ <"\t echo '#if IS_IN (libc)'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$vcount'))}) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:source) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$strong')} spids: [609] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vcount) op: assign_op.Equal rhs: {<1>} spids: [613] ) ] ) ] spids: [594 606] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:source) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name strong) <_> (${ Id.VSub_Name vcount))} spids: [620] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vcount) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (C {<expr>} {($ Id.VSub_DollarName '$vcount')} {<Id.Lit_Other '+'>} {<1>} ) ] ) ) } spids: [632] ) ] ) (C {<echo>} { (DQ <"\t echo 'strong_alias ("> ($ Id.VSub_DollarName '$strong') <', '> ($ Id.VSub_DollarName '$source') <")'; "> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) ) } ) ] ) (C {<echo>} { (DQ <"\t echo 'versioned_symbol (libc, "> ($ Id.VSub_DollarName '$source') <', '> ($ Id.VSub_DollarName '$base') <', '> ($ Id.VSub_DollarName '$ver') <")'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) ) } ) (C {<echo>} { (DQ <"\t echo '#else'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) ) } ) (C {<echo>} { (DQ <"\t echo 'strong_alias ("> ($ Id.VSub_DollarName '$strong') <', '> ($ Id.VSub_DollarName '$base') <")'; "> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) ) } ) (C {<echo>} { (DQ <"\t echo '#endif'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) ) } ) ] spids: [541 545 703 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <Id.Lit_Other '@'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:base) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$name')}) (C {<sed>} {(SQ <'s/@.*//'>)}) ] negated: F ) ] ) ) } spids: [712] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ver) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$name')}) (C {<sed>} {(SQ <'s/.*@//;s/\\./_/g'>)}) ] negated: F ) ] ) ) } spids: [730] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$ver')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <Id.Lit_Other ':'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:compat_ver) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name ver> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {<'*:'>} ) ) } spids: [763] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ver) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name ver> suffix_op: (suffix_op.Unary op_id: Id.VOp1_DPercent arg_word: {<':*'>} ) ) } spids: [771] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:compat_cond) op: assign_op.Equal rhs: { (DQ <' && SHLIB_COMPAT (libc, '> ($ Id.VSub_DollarName '$ver') <', '> ($ Id.VSub_DollarName '$compat_ver') <')'> ) } spids: [779] ) ] ) ] spids: [757 760 789 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:compat_cond) op: assign_op.Equal rhs: (word.Empty) spids: [796] ) ] ) ] spids: [792 793 799 -1] ) ] ) (C {<echo>} { (DQ <"\t echo '#if defined SHARED && IS_IN (libc)"> ($ Id.VSub_DollarName '$compat_cond') <"'; "> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$vcount'))}) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:source) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$strong')} spids: [830] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vcount) op: assign_op.Equal rhs: {<1>} spids: [834] ) ] ) ] spids: [815 827] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:source) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name strong) <_> (${ Id.VSub_Name vcount))} spids: [841] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vcount) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (C {<expr>} {($ Id.VSub_DollarName '$vcount')} {<Id.Lit_Other '+'>} {<1>} ) ] ) ) } spids: [853] ) ] ) (C {<echo>} { (DQ <"\t echo 'strong_alias ("> ($ Id.VSub_DollarName '$strong') <', '> ($ Id.VSub_DollarName '$source') <")'; "> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) ) } ) ] ) (C {<echo>} { (DQ <"\t echo 'compat_symbol (libc, "> ($ Id.VSub_DollarName '$source') <', '> ($ Id.VSub_DollarName '$base') <', '> ($ Id.VSub_DollarName '$ver') <")'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) ) } ) (C {<echo>} { (DQ <"\t echo '#endif'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) ) } ) ] spids: [706 709 904 -1] ) (case_arm pat_list: [{<Id.KW_Bang '!'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:name) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$name')}) (C {<sed>} {(SQ <s/.//>)}) ] negated: F ) ] ) ) } spids: [912] ) ] ) (C {<echo>} { (DQ <"\t echo 'strong_alias ("> ($ Id.VSub_DollarName '$strong') <', '> ($ Id.VSub_DollarName '$name') <")'; "> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) ) } ) (C {<echo>} { (DQ <"\t echo 'hidden_def ("> ($ Id.VSub_DollarName '$name') <")'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) ) } ) ] spids: [907 909 952 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<echo>} { (DQ <"\t echo 'weak_alias ("> ($ Id.VSub_DollarName '$strong') <', '> ($ Id.VSub_DollarName '$name') <")'; "> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) ) } ) (C {<echo>} { (DQ <"\t echo 'hidden_weak ("> ($ Id.VSub_DollarName '$name') <")'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) ) } ) ] spids: [955 956 981 -1] ) ] ) ] ) ) ] ) ) (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$calls'))}) (command.WhileUntil keyword: <Id.KW_While while> cond: [ (command.Sentence child: (C {<read>} {<file>} {<srcfile>} {<caller>} {<syscall>} {<args>} {<strong>} {<weak>}) terminator: <Id.Op_Semi _> ) ] body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vdso_syscall) op: assign_op.Equal rhs: (word.Empty) spids: [1027] ) ] ) (command.Case to_match: {<x> (DQ ($ Id.VSub_DollarName '$syscall'))} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <Id.Lit_Other ':'> <Id.Lit_Star '*'> <Id.Lit_Other '@'> <Id.Lit_Star '*'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vdso_syscall) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name syscall> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {<'*:'>} ) ) ) } spids: [1048] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:syscall) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name syscall> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Percent arg_word: {<':*'>} ) ) ) } spids: [1058] ) ] ) ] spids: [1040 1045 1068 -1] ) ] ) (command.Case to_match: {<x> (DQ ($ Id.VSub_DollarName '$syscall'))} arms: [ (case_arm pat_list: [{<x->}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:callnum) op: assign_op.Equal rhs: {<_>} spids: [1088] ) ] ) ] spids: [1085 1086 1091 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:callnum) op: assign_op.Equal rhs: {<->} spids: [1102] ) ] ) (C {<eval>} { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.BraceGroup children: [ (command.Sentence child: (C {<echo>} {(DQ <'#include <sysdep.h>'>)}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<echo>} { (DQ <'callnum=SYS_ify ('> ($ Id.VSub_DollarName '$syscall') <')'> ) } ) terminator: <Id.Op_Semi _> ) ] ) (C {($ Id.VSub_DollarName '$asm_CPP')} {<-D__OPTIMIZE__>} {<->}) (C {<sed>} {<-n>} {<-e>} { (DQ <'/^callnum=.*'> ($ Id.VSub_DollarName '$syscall') </d>) } {<-e>} { (DQ <'/^'> <Id.Lit_Other '\\'> <'(callnum='> <Id.Lit_Other '\\'> <')[ \t]*'> <Id.Lit_Other '\\'> <'(.*'> <Id.Lit_Other '\\'> <')/s//'> <Id.Lit_Other '\\'> <"1'"> <Id.Lit_Other '\\'> <"2'/p"> ) } ) ] negated: F ) ] ) ) } ) ] spids: [1094 1095 1196 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cancellable) op: assign_op.Equal rhs: {<0>} spids: [1203] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:noerrno) op: assign_op.Equal rhs: {<0>} spids: [1207] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:errval) op: assign_op.Equal rhs: {<0>} spids: [1211] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$args')} arms: [ (case_arm pat_list: [{<C> <Id.Lit_Star '*'>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cancellable) op: assign_op.Equal rhs: {<1>} spids: [1226] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:args) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$args')}) (C {<sed>} {(SQ <'s/C:\\?//'>)}) ] negated: F ) ] ) ) } spids: [1230] ) ] ) ] spids: [1222 1224 1248 -1] ) (case_arm pat_list: [{<E> <Id.Lit_Star '*'>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:noerrno) op: assign_op.Equal rhs: {<1>} spids: [1255] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:args) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$args')}) (C {<sed>} {(SQ <'s/E:\\?//'>)}) ] negated: F ) ] ) ) } spids: [1259] ) ] ) ] spids: [1251 1253 1277 -1] ) (case_arm pat_list: [{<V> <Id.Lit_Star '*'>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:errval) op: assign_op.Equal rhs: {<1>} spids: [1284] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:args) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$args')}) (C {<sed>} {(SQ <'s/V:\\?//'>)}) ] negated: F ) ] ) ) } spids: [1288] ) ] ) ] spids: [1280 1282 1306 -1] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$args')} arms: [ (case_arm pat_list: [{<Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nargs) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$args')} spids: [1329] ) ] ) ] spids: [1324 1327 1331 -1] ) (case_arm pat_list: [{<Id.Lit_QMark '?'> <Id.Lit_Other ':'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nargs) op: assign_op.Equal rhs: {<0>} spids: [1338] ) ] ) ] spids: [1334 1336 1340 -1] ) (case_arm pat_list: [{<Id.Lit_QMark '?'> <Id.Lit_Other ':'> <Id.Lit_QMark '?'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nargs) op: assign_op.Equal rhs: {<1>} spids: [1348] ) ] ) ] spids: [1343 1346 1350 -1] ) (case_arm pat_list: [ {<Id.Lit_QMark '?'> <Id.Lit_Other ':'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nargs) op: assign_op.Equal rhs: {<2>} spids: [1359] ) ] ) ] spids: [1353 1357 1361 -1] ) (case_arm pat_list: [ {<Id.Lit_QMark '?'> <Id.Lit_Other ':'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nargs) op: assign_op.Equal rhs: {<3>} spids: [1371] ) ] ) ] spids: [1364 1369 1373 -1] ) (case_arm pat_list: [ {<Id.Lit_QMark '?'> <Id.Lit_Other ':'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nargs) op: assign_op.Equal rhs: {<4>} spids: [1384] ) ] ) ] spids: [1376 1382 1386 -1] ) (case_arm pat_list: [ {<Id.Lit_QMark '?'> <Id.Lit_Other ':'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nargs) op: assign_op.Equal rhs: {<5>} spids: [1398] ) ] ) ] spids: [1389 1396 1400 -1] ) (case_arm pat_list: [ {<Id.Lit_QMark '?'> <Id.Lit_Other ':'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nargs) op: assign_op.Equal rhs: {<6>} spids: [1413] ) ] ) ] spids: [1403 1411 1415 -1] ) (case_arm pat_list: [ {<Id.Lit_QMark '?'> <Id.Lit_Other ':'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nargs) op: assign_op.Equal rhs: {<7>} spids: [1429] ) ] ) ] spids: [1418 1427 1431 -1] ) (case_arm pat_list: [ {<Id.Lit_QMark '?'> <Id.Lit_Other ':'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nargs) op: assign_op.Equal rhs: {<8>} spids: [1446] ) ] ) ] spids: [1434 1444 1448 -1] ) (case_arm pat_list: [ {<Id.Lit_QMark '?'> <Id.Lit_Other ':'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nargs) op: assign_op.Equal rhs: {<9>} spids: [1464] ) ] ) ] spids: [1451 1462 1466 -1] ) ] ) (C {<echo>} {(SQ )}) (C {<echo>} { (DQ <'#### CALL='> ($ Id.VSub_DollarName '$file') <' NUMBER='> ($ Id.VSub_DollarName '$callnum') <' ARGS='> ($ Id.VSub_DollarName '$args') <' SOURCE='> ($ Id.VSub_DollarName '$srcfile') ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:any_versioned) op: assign_op.Equal rhs: {<f>} spids: [1510] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:shared_only) op: assign_op.Equal rhs: {<f>} spids: [1514] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$weak')} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <Id.Lit_Other '@'> <Id.Lit_Other '@'> <Id.Lit_Star '*'>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:any_versioned) op: assign_op.Equal rhs: {<t>} spids: [1531] ) ] ) ] spids: [1525 1529 1534 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <Id.Lit_Other '@'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:any_versioned) op: assign_op.Equal rhs: {<t>} spids: [1542] ) (assign_pair lhs: (sh_lhs_expr.Name name:shared_only) op: assign_op.Equal rhs: {<t>} spids: [1545] ) ] ) ] spids: [1537 1540 1548 -1] ) ] ) (command.Case to_match: {<x> ($ Id.VSub_DollarName '$srcfile') (DQ ($ Id.VSub_DollarName '$callnum'))} arms: [ (case_arm pat_list: [{<x-->}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<x> ($ Id.VSub_DollarName '$caller')} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<x->} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$noerrno')} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [ {<echo>} { (DQ ($ Id.VSub_Number '$0') <': no number for '> ($ Id.VSub_DollarName '$fileno') <', no-error syscall ('> ($ Id.VSub_DollarName '$strong') <' '> ($ Id.VSub_DollarName '$weak') <')'> ) } ] redirects: [ (redir.Redir op: <Id.Redir_GreatAnd '>&'> fd: -1 arg_word: {<2>} ) ] ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<2>} ) ] spids: [1592 1606] ) ] ) (C {<echo>} { (DQ <'unix-stub-syscalls += '> ($ Id.VSub_DollarName '$strong') <' '> ($ Id.VSub_DollarName '$weak') ) } ) ] spids: [1574 1589] ) ] ) ] spids: [1566 1567 1647 -1] ) (case_arm pat_list: [{<x> <Id.Lit_Star '*'> <->}] spids: [1650 1653 1655 -1] ) (case_arm pat_list: [{<x-> <Id.Lit_Star '*'>}] action: [ (C {<echo>} { (DQ <'ifeq (,'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'(filter '> ($ Id.VSub_DollarName '$file') <','> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'(unix-syscalls)))'> ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$shared_only')} {<Id.Lit_Equals '='>} {<t>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} { (DQ <'ifneq (,'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(filter .os,'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'(object-suffixes)))'> ) } ) ] spids: [1680 1691] ) ] ) (C {<echo>} {(DQ <'unix-syscalls += '> ($ Id.VSub_DollarName '$file'))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<x> ($ Id.VSub_DollarName '$caller')} {<Id.Lit_Equals '='>} {<x->} ) (C {<echo>} {(DQ <'unix-extra-syscalls += '> ($ Id.VSub_DollarName '$file'))} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$shared_only')} {<Id.Lit_Equals '='>} {<t>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} {(DQ <'shared-only-routines += '> ($ Id.VSub_DollarName '$file'))} ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$vdso_syscall'))}) (C {<echo>} { (DQ (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(objpfx)'> (${ Id.VSub_Name file) <'.os: '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) ) } ) ] ) ] spids: [1748 1759] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:object_suffixes) op: assign_op.Equal rhs: {(SQ <'$(object-suffixes)'>)} spids: [1800] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$vdso_syscall'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:object_suffixes) op: assign_op.Equal rhs: {(SQ <'$(object-suffixes-noshared)'>)} spids: [1816] ) ] ) ] ) (C {<echo>} { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'(foreach p,'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'(sysd-rules-targets),'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(foreach o,'> (${ Id.VSub_Name object_suffixes) <','> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(objpfx)'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'(patsubst %,'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'p,'> ($ Id.VSub_DollarName '$file') <')'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'o)): '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) ) } ) ] ) (C {<echo>} { (DQ <'\t\t'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'(..)sysdeps/unix/make-syscalls.sh'> ) } ) (command.Case to_match: {<x> (DQ ($ Id.VSub_DollarName '$callnum'))} arms: [ (case_arm pat_list: [{<x_>}] action: [ (C {<echo>} { (DQ <'\t'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(make-target-directory)\n'> <"\t(echo '/* Dummy module requested by syscalls.list */'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) ) } ) ] spids: [1874 1875 1890 -1] ) (case_arm pat_list: [{<x> <Id.Lit_Star '*'>}] action: [ (C {<echo>} { (DQ <'\t'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(make-target-directory)\n'> <"\t(echo '#define SYSCALL_NAME "> ($ Id.VSub_DollarName '$syscall') <"'; "> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'\n'> <"\t echo '#define SYSCALL_NARGS "> ($ Id.VSub_DollarName '$nargs') <"'; "> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'\n'> <"\t echo '#define SYSCALL_SYMBOL "> ($ Id.VSub_DollarName '$strong') <"'; "> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'\n'> <"\t echo '#define SYSCALL_CANCELLABLE "> ($ Id.VSub_DollarName '$cancellable') <"'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'\n'> <"\t echo '#define SYSCALL_NOERRNO "> ($ Id.VSub_DollarName '$noerrno') <"'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'\n'> <"\t echo '#define SYSCALL_ERRVAL "> ($ Id.VSub_DollarName '$errval') <"'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'\n'> <"\t echo '#include <syscall-template.S>'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) ) } ) ] spids: [1893 1895 1940 -1] ) ] ) (C {<emit_weak_aliases>}) (C {<echo>} {(SQ <'\t) | $(compile-syscall) '>) (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'(foreach p,'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'(patsubst %'> ($ Id.VSub_DollarName '$file') <',%,'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'(basename '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(@F))),'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'('> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(p)CPPFLAGS))'> ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$vdso_syscall'))}) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vdso_symbol) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name vdso_syscall> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Percent arg_word: {<'@*'>} ) ) ) } spids: [2010] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vdso_symver) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name vdso_syscall> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {<'*@'>} ) ) ) } spids: [2020] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vdso_symver) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$vdso_symver'))} ) (C {<sed>} {(SQ <'s/\\./_/g'>)}) ] negated: F ) ] ) ) } spids: [2030] ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<EOF>} here_end_span_id: 2138 stdin_parts: [ <'\n'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(foreach p,'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(sysd-rules-targets),'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(objpfx)'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(patsubst %,'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'p,'> ($ Id.VSub_DollarName '$file') <').os): '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'\n'> <'\t\t'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(..)sysdeps/unix/make-syscalls.sh\n'> <'\t'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(make-target-directory)\n'> <"\t(echo '#include <dl-vdso.h>'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'\n'> <"\t echo 'extern void *"> (${ Id.VSub_Name strong) <'_ifunc (void) __asm ('> <Id.Right_DoubleQuote '"'> (${ Id.VSub_Name strong) <Id.Right_DoubleQuote '"'> <");'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'\n'> <"\t echo 'void *'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'\n'> <"\t echo '"> (${ Id.VSub_Name strong) <"_ifunc (void)'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'\n'> <"\t echo '{'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'\n'> <"\t echo ' PREPARE_VERSION_KNOWN (symver, "> (${ Id.VSub_Name vdso_symver) <");'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'\n'> <"\t echo ' return _dl_vdso_vsym ("> <Id.Right_DoubleQuote '"'> (${ Id.VSub_Name vdso_symbol) <Id.Right_DoubleQuote '"'> <", &symver);'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'\n'> <"\t echo '}'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'\n'> <"\t echo 'asm ("> <Id.Right_DoubleQuote '"'> <'.type '> (${ Id.VSub_Name strong) <', %gnu_indirect_function'> <Id.Right_DoubleQuote '"'> <");'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'\n'> ] ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<EOF>} here_end_span_id: 2182 stdin_parts: [ <"\t echo 'asm ("> <Id.Right_DoubleQuote '"'> <'.globl __GI_'> (${ Id.VSub_Name strong) <Id.Right_DoubleQuote '"'> <");'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'\n'> <"\t echo 'asm ("> <Id.Right_DoubleQuote '"'> <__GI_> (${ Id.VSub_Name strong) <' = '> (${ Id.VSub_Name strong) <Id.Right_DoubleQuote '"'> <");'; "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'\n'> ] ) ] ) (C {<emit_weak_aliases>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<EOF>} here_end_span_id: 2211 stdin_parts: [ <'\t) | '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(compile-stdin.c) '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(foreach p,'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(patsubst %'> ($ Id.VSub_DollarName '$file') <',%,'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(basename '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(@F))),'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'('> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(p)CPPFLAGS))\n'> ] ) ] ) ] spids: [1984 1995] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$shared_only')} {<Id.Lit_Equals '='>} {<t>} ) terminator: <Id.Op_Semi _> ) ] action: [(C {<echo>} {<endif>})] spids: [2217 2228] ) ] ) (C {<echo>} {<endif>}) ] spids: [1661 1663 2249 -1] ) ] ) ] ) ) ] negated: F ) ] )