I still don't understand why your toolchain creates a .rel.stabs section in the first place. Could you check at which point this is created first (as, ld, ld -shared)?
it's done in latest ld -shared step. even a simple test example generates a .rel.stab section... (simple function compiled and linked to generate a .so file)
I got a quick look at its content... it's always a relative relocation (like for a symbol global address), which in most examples I've seen is set to 0...
another nice "feature" is that lots of libraries also have the .rel.stab, so it seems to come also from the distro itself (even if I goofed somehow with my setup)
I'll dig further
anyway, I don't think removing the .rel.stab is a big deal. the current debugger code doesn't use the address of a global symbol in .stab section, but rather rely on the ELF information... (but if we also start by removing the .rel.stab section, the compilation scheme becomes more and more ugly)
A+