Lines Matching refs:nm

3 # Try opening libperl.a with nm, and verifying it has the kind of
15 # Debugging tip: nm output (this script's input) can be faked by
18 # "@style" (where style is a supported nm style, like "gnu" or "darwin")
30 # (the full story is too long for here, see "man nm")
55 # If we compile with gcc nm marks PL_no_mem as "D" (normal data) rather than a R (read only)
57 # If we compile with clang 14, nm marks PL_no_mem as "T" (text, aka code) rather than R
80 my $nm;
96 print "# Faking nm output from $fake_input\n";
99 print "# Faking nm style from $fake_style\n";
107 die "$0: Unknown explicit nm style '$fake_style'\n";
115 # since the output format of the GNU binutils nm is really BSD.
126 $nm = '/usr/bin/nm';
128 $nm = '/usr/bin/nm';
135 die "$0: Unexpected nm style '$nm_style'\n";
145 unless (defined $nm) {
146 skip_all "no nm";
150 skip_all "no nm style";
153 print "# nm = $nm\n";
157 unless (-x $nm) {
158 skip_all "no executable nm $nm";
162 open(my $gnu_verify, "$nm --version|") or
163 skip_all "nm failed: $!";
166 if (/^GNU nm/) {
172 skip_all "no GNU nm";
184 undef $nm_err_tmp; # In this case there will be no nm errors.
186 print qq{# command: "$nm $nm_opt $libperl_a 2>$nm_err_tmp |"\n};
187 open($nm_fh, "$nm $nm_opt $libperl_a 2>$nm_err_tmp |") or
188 skip_all "$nm $nm_opt $libperl_a failed: $!";
242 print "# Unexpected nm output '$line' ($symbols->{o})\n";
255 skip_all "nm parser requires an update on Darwin";
301 print "# Unexpected nm output '$line' ($symbols->{o})\n";
313 skip_all "no nm parser ($nm_style $nm_style, \$^O $^O)";
326 # Something went awfully wrong. Wrong nm? Wrong options?
488 # OS X has weird error where nm warns about
490 # llvm-nm may also complain about 'no symbols'. In some
495 if (/nm: no name list/ || /^(.*: )?no symbols$/ ) {
496 print "# $^O ignoring $nm output: $_";
500 warn "$0: Unexpected $nm error: $_";
503 die "$0: Unexpected $nm errors\n" if $error;