summaryrefslogtreecommitdiffstats
path: root/libexec/rtld-aout
diff options
context:
space:
mode:
authornate <nate@FreeBSD.org>1995-09-27 23:14:08 +0000
committernate <nate@FreeBSD.org>1995-09-27 23:14:08 +0000
commitb2eb28098581d828e8b2593ac310d6cf588fa38d (patch)
treeaad9fc90e95e64010a792d71e7e0ed9beb9a2369 /libexec/rtld-aout
parentf12729acb8ecbd618c3c778035349a964e1586a6 (diff)
downloadFreeBSD-src-b2eb28098581d828e8b2593ac310d6cf588fa38d.zip
FreeBSD-src-b2eb28098581d828e8b2593ac310d6cf588fa38d.tar.gz
Fixup the "ld.so failed" message for the case when ld.so finds undefined
symbols. An easy example to see this is to develop an X program which links against Xt, but doesn't add -lX11 to the link line. It will link fine, but cause run-time errors by ld.so because of missing symbols used by Xt defined in X11. This patch makes the errors more readable. Submitted by: jdp@polstra.com (John Polstra)
Diffstat (limited to 'libexec/rtld-aout')
-rw-r--r--libexec/rtld-aout/rtld.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/libexec/rtld-aout/rtld.c b/libexec/rtld-aout/rtld.c
index dbbae89..b86f3c0 100644
--- a/libexec/rtld-aout/rtld.c
+++ b/libexec/rtld-aout/rtld.c
@@ -27,7 +27,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: rtld.c,v 1.24 1995/05/30 05:01:49 rgrimes Exp $
+ * $Id: rtld.c,v 1.25 1995/06/27 09:53:19 dfr Exp $
*/
#include <sys/param.h>
@@ -276,6 +276,10 @@ struct _dynamic *dp;
/* Load required objects into the process address space */
load_objects(crtp, dp);
+ /* Fill in some fields in main's __DYNAMIC structure */
+ crtp->crt_dp->d_entry = &ld_entry;
+ crtp->crt_dp->d_un.d_sdt->sdt_loaded = link_map_head->som_next;
+
/* Relocate all loaded objects according to their RRS segments */
for (smp = link_map_head; smp; smp = smp->som_next) {
if (LM_PRIVATE(smp)->spd_flags & RTLD_RTLD)
@@ -298,10 +302,6 @@ struct _dynamic *dp;
init_map(smp, ".init", 0);
}
- /* Fill in some field in main's __DYNAMIC structure */
- crtp->crt_dp->d_entry = &ld_entry;
- crtp->crt_dp->d_un.d_sdt->sdt_loaded = link_map_head->som_next;
-
ddp = crtp->crt_dp->d_debug;
ddp->dd_cc = rt_symbol_head;
if (ddp->dd_in_debugger) {
OpenPOWER on IntegriCloud