tinycc-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]