What's a good way to disassemble Phobos?
    Dukc 
    ajieskola at gmail.com
       
    Sat Apr 30 18:18:02 UTC 2022
    
    
  
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.
    
    
More information about the Digitalmars-d-learn
mailing list