Re: rebootstrap/ilp32 review
On Sun, Sep 23, 2018 at 03:16:04AM +0100, Wookey wrote:
> Yes. As soon as I have run something and thus believe that what I am
> building actually works, I'll file remaining toolchain patches
> upstream. Although debian-specific multiarch path changes presumably
> remain as debian patches for now.
There was not much urgency attached to my remark. It just means that I
won't include such a patch.
> > Do you really need a separate kernel configuration? Why can't it run a
> > standard arm64 kernel? That'd allow you to just build the headers.
> That patch is by way of completeness. I think the kernel is actually
> configured for arm64, due to the "arm64ilp32) kernel_arch=arm64;" line
> mentioned below. It may be that that config doesn't actually make any
> sense, but if it is possible to build such a thing, then the configure
> foo should be present.
That doesn't make sense. rebootstrap does not build a kernel. You'll
build your kernel externally anyway. There won't be an arm64ilp32
kernel. Please try to keep the changes to a minimum and drop this one.
> Well, there is a git tree, but not a bug as it's stuck in staging for
> now (and may be forever). Is that sufficient?
A git tree is not necessarily known widely. A mail to the relevant
mailing lists referencing the tree would be better to follow the status
> Good question. My notes do not record why I had to do this, but
> something about the conditional in the existing code "if test -n
> "$kernel_arch"" meant that it didn't always happen when I wanted it. I
> can't see why that should happen with the current code. It was
> probably something to do with my 'restarting' use of rebootstrap.
Well even "restarting" rebuilds complete packages. That seems orthogonal
to me. Can you reproduce a failure now?
> It was presumably a correction of that assignment, yes.
> "just building headers yet" is not correct English.
> I presume it should say
> "just building headers now"
> "just building headers initially"
> unless that comment is used as part of some larger sentence?
I'm not opposed to fixing the wording in principle.
> > > +#manually install the stuff that cross-build essential should ensure
> > > +DEB_HOST_GNU_TYPE_NORM=$(dpkg-architecture -aarm64ilp32 -q DEB_HOST_GNU_TYPE | sed s/_/-/)
> > > +apt_get_install binutils-$DEB_HOST_GNU_TYPE_NORM gcc-$GCC_VER-$DEB_HOST_GNU_TYPE_NORM g++-$GCC_VER-$DEB_HOST_GNU_TYPE_NORM dpkg-dev
> > > +
> > These should be installed automatically already. Do you see any problems
> > after removing the hunk?
> Yes. I still needed to add this, otherwise the cross-compilers are
> missing on the first package build after, so configure fails.
> I've not looked in detail as to why. I recall originally that this was
> an issue of re-running bootstrap.sh. Perhaps it still is, and would
> work on the initial run without this?
Yes, with re-running bootstrap.sh, you can run into that situation.
[Insert the usual blah about this being unsupported.] I've fixed this
one now (using $HOST_ARCH_SUFFIX). You should be able to drop the hunk.