I've finally got sufficiently annoyed by the inability to assemble differences between symbols in different sections that I went ahead and implemented this. It only works if the base symbol is in the same section as the relocation being emitted, but it was good enough for me. I'm checking this in, approved by Nick Clifton.