This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Adjust empty class parameter passing ABI (PR c++/60336)


On Mon, Nov 13, 2017 at 11:44:38AM +0100, Richard Biener wrote:
> > Unfortunately, it's not what I see.  I ran two bootstraps, with and without the
> > patch.  Then I stripped all the .o files and ran cmp on them, but many of them
> > differ.  objdump -dr reveals why -- I see changes like
> > 
> >   mov    $0xe02,%ecx
> > vs
> >   mov    $0xdf6,%ecx
> > 
> > That's probably some sizeof changes?  Any other ideas? :/  Somehow ignore
> > these and only look if there are new pushes or similar?
> 
> sizeof an empty type shouldn't change, no?  Possibly the new target
> hook "shifts" target hook offsets.  Maybe you can arrange the new one
> to be last... (just for testing).  OTOH for example in target library
> objects all the changes of this kind should have no effect.  So, do
> objects in target libraries differ similarly?

If the changes are because of the patch changing stuff in bootstrapped
compiler, the easiest way is to revert the patch and rebuild stage3 inside
of the stage3 directory and then compare what you get with the unpatched
bootstrapped compiler (or, if you first bootstrap patched tree and then
unpatched, similarly, re-apply the patch and rebuild stage3 of the
originally vanilla tree).

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]