[PATCH 2/5] configure.ac, arch/x86_64: handle x32 as subarch of x86_64 and don't specify -mcmodel=large there
nabijaczleweli at nabijaczleweli.xyz
Fri Oct 23 11:41:03 EDT 2020
On Fri, Oct 23, 2020 at 04:33:07PM +0200, Simon Horman wrote:
> On Fri, Oct 09, 2020 at 05:39:42PM +0200, Ahelenia Ziemiańska wrote:
> > Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli at nabijaczleweli.xyz>
> > ---
> > configure.ac | 8 ++++++++
> > purgatory/arch/x86_64/Makefile | 2 ++
> > 2 files changed, 10 insertions(+)
> > diff --git a/configure.ac b/configure.ac
> > index f025823..4e8f7c5 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -54,6 +54,14 @@ case $target_cpu in
> > ;;
> > ia64|x86_64|alpha|m68k )
> > ARCH="$target_cpu"
> > + case $target in
> > + *x32 )
> > + SUBARCH="x32"
> > + ;;
> > + * )
> > + SUBARCH=""
> > + ;;
> > + esac
> Is x32 value only for x86_64 or ia64, x886_64, alpha and m68k as
> seems to be implied by this change?
There is, indeed, no x32 equivalent for non-amd64,
but I just put this here like this because there aren't
any other triples that end in "x32". Would you rather this go
in a separate "if ARCH=x86_64 && target=*x32" clause below?
> Also, could you let me know how to exercise compiling this changeset?
The easiest way would be to install GCC for "x86_64-linux-gnux32";
on Buster, installing gcc-x86-64-linux-gnux32 followed by
worked and built.
Alternatively, you could use an x32 chroot via something
along the lines of
debootstrap --arch=x32 --variant=minbase
--include=debian-ports-archive-keyring --no-check-gpg sid target
and proceeding as normal within.
To test the kexecution and/or get the x32 userland to run, you'll need
your kernel to have CONFIG_X86_X32=y, or, on Debian amd64 kernels,
to pass syscall.x32=y on the cmdline.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 833 bytes
Desc: not available
More information about the kexec