On Mon, Nov 13, 2017 at 1:02 PM, Marek Polacek <pola...@redhat.com> wrote:
> On Mon, Nov 13, 2017 at 11:47:41AM +0100, Jakub Jelinek wrote:
>> 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).
>
> In the end I did two bootstraps with the patch, but modifed one of them
> to always return false for ix86_is_empty_record.  Then I compared all the
> *.o in both dirs.  The result is attached.  Then I looked at DW_AT_producer
> for all these .o that differ; all of them are C++.  Is this enough to
> clear our concerns?

Hmm, a bunch of these are right at the beginning, bytes 41 and 65, in
the header.

Did you build them in the different trunk/trunk2 directories?  I think
Jakub was suggesting building them in the same directory.

> And I also ran a bootstrap with --enable-cxx-flags=-Wabi=11, and didn't
> see any warnings.

If there's a codegen change, there ought to be a warning to go along with it.

Jason

Reply via email to