On Sat, May 12, 2018 at 8:59 AM, Anthony Coulter <b...@anthonycoulter.name>
wrote:

> $ ls -li /usr/bin/{cc,c++,clang,clang++,clang-cpp} /usr/libexec/cpp
> 156140 -r-xr-xr-x  5 root  bin  46885664 May  4 11:12 /usr/bin/c++
> 155926 -r-xr-xr-x  1 root  bin  46885664 May  4 11:12 /usr/bin/cc
> 156140 -r-xr-xr-x  5 root  bin  46885664 May  4 11:12 /usr/bin/clang
> 156140 -r-xr-xr-x  5 root  bin  46885664 May  4 11:12 /usr/bin/clang++
> 156140 -r-xr-xr-x  5 root  bin  46885664 May  4 11:12 /usr/bin/clang-cpp
> 156140 -r-xr-xr-x  5 root  bin  46885664 May  4 11:12 /usr/libexec/cpp
> $ diff /usr/bin/{cc,clang}
> $
>
> I interpret this as /usr/bin/cc accidentally being a copy instead of a
> hard link. Is this correct?
>

The underlying issue is that /usr/bin/cc is packaged in baseXY.tgz where
it's needed for (sane) kernel and library relinking, while the others are
packaged in compXY.tgz.

Perhaps we should move the others into baseXY.tgz so the link is preserved,
but that would have to be only on the clang-as-cc archs and there are
probably other catches I haven't noticed.  This is perhaps a puzzle best
for Theo...


Philip Guenther

Reply via email to