That is probably something someone with compiler background will be more likely to have an answer to.
Mind that llvm is more than just the linker (if indeed your system uses the linker from that package).
llvm is a compiler of its own. But that part should not affect you, because fpc does act as your compiler (unless you have a special build of fpc 3.3.1 which is configured to use llvm as backend / I doubt you have).
llvm also supplies the lldb debugger (though I don't know if your distro distributes that in the same package). However, you are using FpDebug, so lldb is not at all used (you can use lldb via the IDE, but there is usually no benefit).
The linker on Linux is typically called "ld". I don't know which libraries it does use. So not sure which packages affect that.
All that, if my guess is right, and it is linker related.
Mind, fpc also has bugs in the dwarf it generates. It is possible that a linker failed to read dwarf due to such a bug (some data type, or some specific bit of code). And then the info was skipped for that reason. In that case, maybe try fpc 3.2.3 or 3.3.1 (just to confirm) / and/or different dwarf versions.
I am not sure if objdump works on the *.o files. If it does, it might indicate if dwarf info is wrong. Though it may not be "wrong", but rather unexpected, in which case objdump may not give any mention...
Btw, what Linux distro?