Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Apr 2002 14:53:14 +0900 (JST)
From:      Atsuo Ohki <ohki@gssm.otsuka.tsukuba.ac.jp>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   kern/36952: ldd comand of linux does not work
Message-ID:  <200204100553.g3A5rEC02288@smr01.gssm.otsuka.tsukuba.ac.jp>

next in thread | raw e-mail | index | archive | help

>Number:         36952
>Category:       kern
>Synopsis:       ldd comand of linux does not work
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Apr 09 23:00:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Atsuo Ohki
>Release:        FreeBSD 4.5-RELEASE i386
>Organization:
gssm, University of Tsukuba, Tokyo
>Environment:
System: FreeBSD smr01 4.5-RELEASE FreeBSD 4.5-RELEASE #0: Wed Feb 27 19:18:56 JST 2002 ohki@smr01:/usr/src/sys/compile/gssm i386


>Description:
	ldd command of linux does not work.

>How-To-Repeat:
	/compat/linux/usr/bin/ldd /compat/linux/bin/uname

>Fix:
--- sys/kern/imgact_elf.c-ORIG	Mon Dec 17 03:26:16 2001
+++ sys/kern/imgact_elf.c	Wed Feb 27 18:46:49 2002
@@ -469,10 +469,17 @@
 	const char *interp = NULL;
 	Elf_Brandinfo *brand_info;
 	char *path;
+	int fallback_elf_brand_val = fallback_elf_brand;
 
 	/*
 	 * Do we have a valid ELF header ?
 	 */
+	if (bcmp("Linux ", imgp->proc->p_sysent->sv_name, 6) == 0) {
+		if (elf_check_header(hdr) != 0 ||
+		    (hdr->e_type != ET_EXEC && hdr->e_type != ET_DYN))
+			return -1;
+		fallback_elf_brand_val = ELFOSABI_LINUX;
+	} else
 	if (elf_check_header(hdr) != 0 || hdr->e_type != ET_EXEC)
 		return -1;
 
@@ -616,7 +623,7 @@
 		for (i = 0; i < MAX_BRANDS; i++) {
 			Elf_Brandinfo *bi = elf_brand_list[i];
 
-			if (bi != NULL && fallback_elf_brand == bi->brand) {
+			if (bi != NULL && fallback_elf_brand_val == bi->brand) {
 				brand_info = bi;
 				break;
 			}



>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200204100553.g3A5rEC02288>