On 1/23/20 8:07 AM, Pétur Orri Ragnarsson wrote: > Hi. > > I ran into a problem with fixincludes when building GCC. Your email is > in the README file. > > > When building a crosscompiling GCC 8.3.0 for powerpc the following "fix" > is applied: > > $ diff /opt/pluto-targets/powerpc-rootfs/usr/include/open62541.h > /opt/plutotoolchain/lib/gcc/powerpc-marel-linux-gnu/8.3.0/include-fixed/open62541.h > 0a1,9 > > /* DO NOT EDIT THIS FILE. > > > > It has been auto-edited by fixincludes from: > > > > "/opt/pluto-targets/powerpc-rootfs/usr/include/open62541.h" > > > > This had to be done to correct non-standard usages in the > > original, manufacturer supplied header file. */ > > > 115c124 > < # ifndef __COUNTER__ /* PPC GCC fix */ > --- > > # ifndef __COUNTER__ /* __PPC__ GCC fix */ > > This fix is of course useless since it's editing a string inside a > comment. Unfortunately it's also harmful since it causes this header > file to be included in the compiler distribution in a way that it gets > used before the system header. Then I went and upgraded the open62541 > library which made incompatible changes to its API (from v0.3 to v1.0 if > it matters) causing builds to fail due to the wrong header being used. > > I can apply some hack to fix this locally in our packaging system so > it's not an urgent error, and it would also go away by building the > compiler with the new header installed. But I feel like those are > workarounds that are not very future-proof. > > Is this something you think can/should be fixed? Do you need more info > from me to figure out where and why this substitution happens?
It'll be a little while before I can re-pull all of GCC and look at it. There's a substitution rule somewhere that effectively: sed 's/PPC/__PPC__/' somewhere. Add a constraint that prevents the application of that fix when it appears after a "/*" then re-generate the C code that does all the fixing. Cheers - Bruce > (I've sent this mail directly to you only instead of the mailing list > since I don't know if I'm including enough information.) Probably better to include gcc-patches as I have become less reliable on email since I was retired.