Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Jul 2014 21:16:29 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-arm@FreeBSD.org
Subject:   [Bug 177686] assertion failed in ld-elf.so.1 when invoking telnet with parameters (clang, EABI)
Message-ID:  <bug-177686-7-sVmhm9asry@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-177686-7@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=177686

v1ne2go@gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |v1ne2go@gmail.com

--- Comment #3 from v1ne2go@gmail.com ---
As a quick workaround, setting LD_BIND_NOW helps.
I tried this on gmp, which passes make check with this flag -- except C++ tests
due to broken exceptions.
Without this, I also got some
  ld-elf.so.1: assert failed: /usr/src/libexec/rtld-elf/rtld_lock.c:233
messages.

So, what exactly is the difference when lazy binding comes into play?
>From my underständing, if a symbol is not bound, the process is as follows:
- I call some function func(), stack is 8-byte aligned
- func points to an rtld handler that loads the function and patches the
function table, stack is 8-byte aligned at the start and we crash somewhere in
rtld.
- rtld calls func()

vs.
- I call func(), stack is 8-byte aligned at this point
- func is being called

Was there any progress since the last year?

-- 
You are receiving this mail because:
You are the assignee for the bug.

help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-177686-7-sVmhm9asry>