Lines Matching +full:9 +full:a
5 # recordmcount.pl - makes a section called __mcount_loc that holds
9 # What we want to end up with this is that each object file will have a
22 # functions in a section that has a call site to mcount, will have the
30 # The trick is to change the call offset referring the start of a section to
31 # referring a function symbol in this section. During the link step, 'ld' will
54 # offset from .sched.text. If we choose global symbol func2 as a reference and
66 # in this section. In such a case we have to select a local one. E.g. func1:
83 # an undefined reference to func1 or a wrong reference to another global
87 # a way to make tmp.o reference the local objects of the original object
89 # into a global symbol before linking tmp.o. Then after we link tmp.o
90 # we will only have a single symbol for func1 that is global.
91 # We can convert func1 back into a local symbol and we are done.
106 # 9) Move the result back to the original object.
167 my $local_regex; # Match a local function (return function)
168 my $weak_regex; # Match a weak function (return function)
169 my $section_regex; # Find the start of a section
170 my $function_regex; # Find the name of a function
222 $local_regex = "^[0-9a-fA-F]+\\s+t\\s+(\\S+)";
223 $weak_regex = "^[0-9a-fA-F]+\\s+([wW])\\s+(\\S+)";
225 $function_regex = "^([0-9a-fA-F]+)\\s+<([^^]*?)>:";
226 $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s(mcount|__fentry__)\$";
232 $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s(mcount|__fentry__)([+-]0x[0-9a-zA-Z]+)?\$";
255 …$mcount_regex = "^\\s*([0-9a-fA-F]+):\\s*c0 04 00 00 00 00\\s*(brcl\\s*0,|jgnop\\s*)[0-9a-f]+ <([^…
258 $mcount_regex = "^\\s*([0-9a-fA-F]+):\\s*R_390_(PC|PLT)32DBL\\s+_mcount\\+0x2\$";
280 $local_regex = "^[0-9a-fA-F]+\\s+t\\s+(\\.?\\S+)";
282 $function_regex = "^([0-9a-fA-F]+)\\s+<(\\.?\\w*?)>:";
283 $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s\\.?_mcount\$";
306 $mcount_regex = "^\\s*([0-9a-fA-F]+):\\s*R_ARM_(CALL|PC24|THM_CALL)" .
312 $mcount_regex = "^\\s*([0-9a-fA-F]+):\\s*R_AARCH64_CALL26\\s+_mcount\$";
315 $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s_mcount\$";
331 $function_regex = "^([0-9a-fA-F]+)\\s+<(\\w*?)>:";
334 $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s_mcount\$";
346 # first one, and then we can replace this instruction by a branch
371 $mcount_regex = "^\\s*([0-9a-fA-F]+): R_MIPS_26\\s+_mcount\$";
373 $mcount_regex = "^\\s*([0-9a-fA-F]+): R_MIPS_HI16\\s+_mcount\$";
390 "^([0-9a-fA-F]+)\\s+<(.|[^\$]L.*?|\$[^L].*?|[^\$][^L].*?)>:";
395 $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s_mcount\$";
397 $function_regex = "^([0-9a-fA-F]+)\\s+<([^.0-9][0-9a-zA-Z_\\.]+)>:";
398 $mcount_regex = "^\\s*([0-9a-fA-F]+):\\sR_RISCV_CALL(_PLT)?\\s_?mcount\$";
402 $mcount_regex = "^\\s*([0-9a-fA-F]+):\\s*R_NDS32_HI20_RELA\\s+_mcount\$";
405 $mcount_regex = "^\\s*([0-9a-fA-F]+):\\s*R_CKCORE_PCREL_JSR_IMM26BY2\\s+_mcount\$";
464 # the output file in a format that can be read by an assembler.
470 # Sanity check on weak function. A weak function may be overwritten by
487 # Loop through all the mcount caller offsets and print a reference
492 print FILE "\t.section $mcount_section,\"a\",$section_type\n";
528 # is it a section?
550 # section found, now is this a start of a function?
555 # if this is either a local function or a weak function
563 # if we already have a function, and this is weak, skip it
573 # is this a call site to mcount? If so, record it to print later
612 # Step 5: set up each local function as a global
639 # Step 9: Move the result back to the original object.