November 19, 2018
Now dmd can be compiled only for FreeBSD 11.

But I have old server with FreeBSD 8.1 64bit and i need to install dmd on it.

The main problem in function _rtld_addr_phdr in function findDSOInfoForAddr in file druntime/src/rt/sections_elf_shared.d
This function does not exists on FreeBSD 8.1 64bit

What's wrong with findDSOInfoForAddr?
Can anyone make changes in dmd source code and try to find any way write function findDSOInfoForAddr without _rtld_addr_phdr?


I find my own way, but it is very stupid way...
I download dmd.2.066.1.freebsd-64 it works on 8.1, but very old version.
I changed findDSOInfoForAddr to linux version without _rtld_addr_phdr
Then I download dmd.2.067.0 source, changed findDSOInfoForAddr and compile it with dmd 2.066.1
Then I download dmd.2.068.0 source changed findDSOInfoForAddr and compile it with dmd 2.067.0
and more and more times
Now I successfully builded version dmd.2.080.0 :-)

It is good for me, but... It is very stupid way
_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals


November 19, 2018
maybe you can just implement  _rtld_addr_phdr as a library and links againt it?. I remember doing something like that for non supported C runtimes (musl ...) in the past

On Mon, Nov 19, 2018 at 7:38 PM Martin Kroček via dmd-internals < dmd-internals@puremagic.com> wrote:

> Now dmd can be compiled only for FreeBSD 11.
>
> But I have old server with FreeBSD 8.1 64bit and i need to install dmd on it.
>
> The main problem in function _rtld_addr_phdr in function findDSOInfoForAddr in file druntime/src/rt/sections_elf_shared.d This function does not exists on FreeBSD 8.1 64bit
>
> What's wrong with findDSOInfoForAddr?
> Can anyone make changes in dmd source code and try to find any way write
> function findDSOInfoForAddr without _rtld_addr_phdr?
>
>
> I find my own way, but it is very stupid way...
> I download dmd.2.066.1.freebsd-64 it works on 8.1, but very old version.
> I changed findDSOInfoForAddr to linux version without _rtld_addr_phdr
> Then I download dmd.2.067.0 source, changed findDSOInfoForAddr and compile
> it with dmd 2.066.1
> Then I download dmd.2.068.0 source changed findDSOInfoForAddr and compile
> it with dmd 2.067.0
> and more and more times
> Now I successfully builded version dmd.2.080.0 :-)
>
> It is good for me, but... It is very stupid way
> _______________________________________________
> dmd-internals mailing list
> dmd-internals@puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-internals
>