Corinna Vinschen writes: > Where? rebase.c calls ReBaseImage64, which is > > a) a Windows function in imagehlp.dll and > b) the function name of a function in the imagebase library, implemented > in rebaseimage.cc. > > We're going path b. The core of imagebase's implementation of > ReBaseImage64 is the call to LinkedObjectFile::performRelocation (line > 123 in imagehelper/rebaseimage.cc), which in turn calls > Relocations::relocate in imagehelper/sections.cc. This function > performs the actual relocation.
OK, I hadn't realized there were two implementations. >> that doesn't seem to allow >> individual sections to be skipped. The code you pointed at seems just >> to be checking if any sections need additional fixups. > > Well, it's the code doing the actual relocation. The outer for-loop > jumps from relocation block to relocation block. Line 391 > > Section *cursec = sections->find(va); > > computes the actual section the relocation block is pointing to. > Then it checks if it points to a valid section and if not it bails > out. Otherwise it loops over the relocation entries in the block > and performas the actual relocation. > > The idea is to add something along the lines of > > if (cursec && !strncmp (cursec->getName (), ".debug_", 7)) > continue; I'll try later. Let's see what happens. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf rackAttack: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds