Hi,
as previously mentioned, I'm running Genode on Zynq-based hardware...which is progressing quite well by the way ;-)
Unfortunately, I got stuck at using the dynamic linker, i.e. 'make run/ldso' fails with the following output:
Genode 14.11-93-ge5ef216 int main(): --- create local services --- int main(): --- start init --- int main(): transferred 1020 MB to init int main(): --- init created, waiting for exit condition --- [init -> test-ldso] LD: Failed to load program [init] virtual void Genode::Child_policy::exit(int): child "test-ldso" exited with exit value -1
As I'm quite unfamiliar with dynamic linking in general, I have no clue what's wrong here. Also, having a quick look at the corresponding lines in the ldso didn't shed much light on this matter. Thus, I'd be very glad to get a few hints from you guys. Any ideas what I need to check to narrow this down?
If you are interested in the zynq-related code, you can find it at: https://github.com/ValiValpas/genode/tree/zynq
Cheers Johannes
Hi Johannes,
On 04/09/2015 06:05 PM, Johannes Schlatow wrote:
Hi,
as previously mentioned, I'm running Genode on Zynq-based hardware...which is progressing quite well by the way ;-)
Unfortunately, I got stuck at using the dynamic linker, i.e. 'make run/ldso' fails with the following output:
Genode 14.11-93-ge5ef216 int main(): --- create local services --- int main(): --- start init --- int main(): transferred 1020 MB to init int main(): --- init created, waiting for exit condition --- [init -> test-ldso] LD: Failed to load program [init] virtual void Genode::Child_policy::exit(int): child "test-ldso" exited with exit value -1
As I'm quite unfamiliar with dynamic linking in general, I have no clue what's wrong here. Also, having a quick look at the corresponding lines in the ldso didn't shed much light on this matter. Thus, I'd be very glad to get a few hints from you guys. Any ideas what I need to check to narrow this down?
If you are interested in the zynq-related code, you can find it at: https://github.com/ValiValpas/genode/tree/zynq
That is hard to tell remotely, could you comment out the try and the catch statement that print the error message and send me the output?
Thanks,
Sebastian
Hi Sebastian,
this was actually helpful. It was catching a Region_conflict exception thrown by Allocator_avl_base::alloc_addr(). The requested address was in a very low range so that no matching block could be found. Actually, it was LD_TEXT_ADDR, hence modifying this value in spec-hw_zynq.mk accordingly solved my problem.
Cheers Johannes
On Fri, 10 Apr 2015 11:05:03 +0200 Sebastian Sumpf <Sebastian.Sumpf@...1...> wrote:
Hi Johannes,
On 04/09/2015 06:05 PM, Johannes Schlatow wrote:
Hi,
as previously mentioned, I'm running Genode on Zynq-based hardware...which is progressing quite well by the way ;-)
Unfortunately, I got stuck at using the dynamic linker, i.e. 'make run/ldso' fails with the following output:
Genode 14.11-93-ge5ef216 int main(): --- create local services --- int main(): --- start init --- int main(): transferred 1020 MB to init int main(): --- init created, waiting for exit condition --- [init -> test-ldso] LD: Failed to load program [init] virtual void Genode::Child_policy::exit(int): child "test-ldso" exited with exit value -1
As I'm quite unfamiliar with dynamic linking in general, I have no clue what's wrong here. Also, having a quick look at the corresponding lines in the ldso didn't shed much light on this matter. Thus, I'd be very glad to get a few hints from you guys. Any ideas what I need to check to narrow this down?
If you are interested in the zynq-related code, you can find it at: https://github.com/ValiValpas/genode/tree/zynq
That is hard to tell remotely, could you comment out the try and the catch statement that print the error message and send me the output?
Thanks,
Sebastian