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
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel