On 2020-08-13 08:26, Magnus Ihse Bursie wrote:
Recently a lot of "no symbols" is shown when building hotspot, at least on macOS.

This comes from the new/delete operator check which uses nm.

I have checked the source of these problems. Several files are now empty due to refactoring and the use of (incidentally) file-wide #ifdefs. So we just need to handle the fact that nm can write "no symbols" to stderr.

I also refactored the operator checking to use ExecuteWithLog, which would have helped me track down this issue, had it been there from the beginning. :)

I'm not sure how ExecuteWithLog helps. In your version of this recipe, both stdout and stderr are piped together into the greps and then stored in $1.op_check, which happens to be the same file ExecuteWithLog is piping output to, so there are two sets of pipes to this file. To me this looks like any output on stderr is will just get filtered out and the pipes ExecuteWithLog adds will never do anything.

/Erik

I have verified that this solves the bug. I have also for testing introduced a incorrect use of "new" and verified that this still trigger.

Bug: https://bugs.openjdk.java.net/browse/JDK-8251541
WebRev: http://cr.openjdk.java.net/~ihse/JDK-8251541-stop-printing-no-symbol/webrev.01

/Magnus

Reply via email to