I have figured out that my development build of Phobos is for some reason including instances of `__cmp` and `dstrcmp` templates from DRuntime in the Phobos binary. Since `-betterC` client code does not link Phobos in, it fails if it tries to use those functions.

The problem: how do I track down what includes those functions in the Phobos binary? The -vasm switch of DMD gives a neat output, but I can get it to only show the disassembly of files I'm compiling (not already combined files), and before the linking phase. So no info where the function calls point to.

I also tried ndisasm. It can disassemble already compiled binaries, but it's output is utter trash. It can't even figure where a function begins or ends, let alone displaying their name. Instead it displays just a sea of `add` instructions for the areas between the functions.

I'm looking for something where I could search for the call to the DRuntime functions in question, from an already combined .o or .a. What do you suggest? I'm on Linux.

Reply via email to