On November 14, 2017 6:21:41 AM GMT+01:00, Jason Merrill <ja...@redhat.com> wrote: >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.
The question was of course also for unintended changes but yes (I was mainly concerned by libstdc++ ABI changes). Richard. >Jason