[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] Fallout from commit 01c041923474750a236da02561f0f8835
From: |
Edmund Grimley Evans |
Subject: |
Re: [Tinycc-devel] Fallout from commit 01c041923474750a236da02561f0f8835 |
Date: |
Fri, 20 Feb 2015 14:15:19 +0000 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Michael Matz on 2014-09-18:
> extern void f(void);
> g() { void (*ptr)(void) = f; ptr(); }
>
> Here there will be a GOT slot allocated for 'f'. The initialization of
> 'ptr' will load from that GOT slot. So even though direct calls to 'f'
> can (and will be, when 'f' is defined) fully resolved without a PLT slot,
If f is in a library it may turn out not to be in range for a direct
call. So in general you need the PLT (or the old jump table).
> Probably I'd have to use that exact debian-based setup under qemu (my
> chroot is based on some openSUSE version), but I don't know a simple
> recipe for how. Any help appreciated.
You could try taking debootstrap from the Debian archive, unpacking it
manually, and running it as root thus:
.../debootstrap --arch armhf unstable .../chroots/arm64-unstable
http://ftp.debian.org/debian
I've done that before for creating a Debian chroot on a non-Debian
Linux machine. It's also what I use for creating a chroot for a
different architecture, such as arm64 on i386 (with QEMU), or armhf on
arm64 (without QEMU).
Edmund
- Re: [Tinycc-devel] Fallout from commit 01c041923474750a236da02561f0f8835,
Edmund Grimley Evans <=