[fpc-pascal] Building trunk

Cyrax evvke at hotmail.com
Mon Nov 26 04:33:51 CET 2018


On 25/11/2018 14:58, Jonas Maebe wrote:
> On 25/11/18 13:51, Florian Klämpfl wrote:
>> I am not aware that somewhere a fixed offset is applied. All info is 
>> read from the auxiliary data and the header.
> 
> You can have a load address offset in case there is a PT_PHDR. From 
> http://www.gabriel.urdhr.fr/2015/01/22/elf-linking/ :
> 
> // Simplified code from the GNU dynamic linker source code:
> for (ph = phdr; ph < &phdr[phnum]; ++ph)
>    if (ph->p_type == PT_PHDR)
>      main_map->l_addr = (ElfW(Addr)) phdr - ph->p_vaddr;
> 
> There doesn't seem to be one in Colin's program though.
> 
> 
> Jonas
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Somehow this thread reminds my one open bug : 
https://bugs.freepascal.org/view.php?id=34475

I have found out that you need to have either linked against libc or 
have small binary stub generated from assembler source (like 64-bit 
pascal programs/libraries have that doesn't link against libc) linked 
against your 32-bit program so it can access PHDR structure without 
crashing on access violation exception.




More information about the fpc-pascal mailing list