[Buildroot] [PATCH 0/2] package/binutils+elf2flt: fix for noMMU targets
Peter Korsgaard
peter at korsgaard.com
Sun May 27 21:01:10 UTC 2018
>>>>> "Yann" == Yann E MORIN <yann.morin.1998 at free.fr> writes:
Hi,
>> I don't see a full solution yet, but basically I think that we should
>> - detect when an executable has multiple hardlinks;
>> - detect if it has already been "fixed" in this fix-rpath run;
>> - if so, clone the file before fixing it proper.
> What did you mean by "clone" in this context? Remove the hardlinks and
> replace them by a copy of the file?
Yes, I guess that was what Arnout meant. "break" the hard link and
duplicate the file content.
>> Alternatively we could consider that this is anyway only about the host tree,
>> which is normally the smallest of the three trees (when you exclude external
>> toolchain). So maybe we should just always clone for the host tree.
> I'm afraid that detecting hardlinks will not be cheap, even when we
> exclude staging/ (which is a sub-dir of host/) from the search...
Just detecting hard linked files should be easy (E.G. st_nlink > 1 when
stat'ing). Figuring out where the other hard links are is indeed hard,
but we afaik don't need to know that.
>> I realize we're very close to the release, but I still think that always
>> cloning is probably the safest way to do it.
> Do we envision other impacted packages? I don't think so. Really,
> binutils and elf2flt really seem to be the only two packages impacted
> by the problem.
> That we missed the noMMU and elf2flt cases previously is just an
> oversight on our part...
> Then. if I am wrong, we're still talking about only two packages for
> now, and they only break because of the ARC archtecture, for which we
> use bleeding-edge tools that require we have libfl.so. Two. Single.
> Packages. We've always refused to add infra when only very few packages
> were impacted.
> Or were you suggesting that we do not add infra, but we replace the
> current two hacks (Thomas' symlinks or my script wrappers) by an actual
> copy, still just for binutils and elf2flt? In which case we would not
> loose time detecting hard-links in a generic way, obviously.
I can follow Arnout, but I think the script wrappers (or simply copies
of the binaries) is good enough for 2018.05.
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list