On 30 Apr 2017, at 14:06, Konstantin Belousov <[email protected]> wrote: > > On Sat, Apr 29, 2017 at 07:55:24PM +0200, Dimitry Andric wrote: ... >> So in that case, if Jung-uk's solution works, it is probably the best >> way forward, and it can even be upstreamed. Jung-uk, how does your >> patch handle an updated header under /usr/include which contains e.g. >> new definitions, which are not in the fixed includes directory? > > Am I right that Jung-uk fix replaces vm_ooffset_t and vm_pindex_t with > explicit int64_t and uint64_t use, as the course of action for gcc > fixincludes step ? If yes, I completely disagree. > > The change blocks any future changes to the type that might occur in the > base system, for the code compiled by gcc. End result might be as bad > as mismatched ABI, in the worst case. > > I share the opinion that fixincludes is not only useless, but really > damaging. Gcc ships workarounds for e.g. issues in X11 headers, which > application depends on the presence of the corresponding headers at the > gcc build time. For clean (poudriere-like) builds these fixes are never > applied, so port build results are inconsistent, at least. > > Nobody so far explained why fixincludes is needed for the modern base > headers. IMO if we have real problems in headers we ship, we must fix it > in the base. > > With all of the above, IMO most sane way to fix problems is to > rename fixincludes directory to some name which is ignored by gcc, > e.g. include-fixed -> include-fixed.saved. This can be done as > post-installation step in the ports.
I agree, it would be best to avoid storing any copies of system headers completely. Maybe the port can have an option FIX_INCLUDES, which defaults to off? I am not sure if there is anybody that really wants these 'fixed' headers, though. :) -Dimitry
signature.asc
Description: Message signed with OpenPGP
