[Midnightbsd-cvs] src [11499] trunk/usr.bin/ldd: sync iwth freebsd.

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sat Jul 7 13:38:08 EDT 2018


Revision: 11499
          http://svnweb.midnightbsd.org/src/?rev=11499
Author:   laffer1
Date:     2018-07-07 13:38:07 -0400 (Sat, 07 Jul 2018)
Log Message:
-----------
sync iwth freebsd.

Modified Paths:
--------------
    trunk/usr.bin/ldd/Makefile
    trunk/usr.bin/ldd/extern.h
    trunk/usr.bin/ldd/ldd.1
    trunk/usr.bin/ldd/ldd.c
    trunk/usr.bin/ldd/sods.c

Property Changed:
----------------
    trunk/usr.bin/ldd/ldd.1

Modified: trunk/usr.bin/ldd/Makefile
===================================================================
--- trunk/usr.bin/ldd/Makefile	2018-07-07 17:37:34 UTC (rev 11498)
+++ trunk/usr.bin/ldd/Makefile	2018-07-07 17:38:07 UTC (rev 11499)
@@ -1,4 +1,5 @@
 # $MidnightBSD$
+# $FreeBSD: stable/10/usr.bin/ldd/Makefile 211725 2010-08-23 22:24:11Z imp $
 
 PROG?=		ldd
 SRCS=		ldd.c

Modified: trunk/usr.bin/ldd/extern.h
===================================================================
--- trunk/usr.bin/ldd/extern.h	2018-07-07 17:37:34 UTC (rev 11498)
+++ trunk/usr.bin/ldd/extern.h	2018-07-07 17:38:07 UTC (rev 11499)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /*
  * Copyright (c) 2002 FreeBSD, Inc
  * All rights reserved.
@@ -22,7 +23,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.
  *
- * $MidnightBSD$
+ * $FreeBSD: stable/10/usr.bin/ldd/extern.h 95648 2002-04-28 12:55:35Z markm $
  */
 
 extern void	dump_file(const char *);

Modified: trunk/usr.bin/ldd/ldd.1
===================================================================
--- trunk/usr.bin/ldd/ldd.1	2018-07-07 17:37:34 UTC (rev 11498)
+++ trunk/usr.bin/ldd/ldd.1	2018-07-07 17:38:07 UTC (rev 11499)
@@ -1,4 +1,5 @@
 .\" $MidnightBSD$
+.\" $FreeBSD: stable/10/usr.bin/ldd/ldd.1 199871 2009-11-28 11:05:22Z danger $
 .\"
 .Dd May 15, 2008
 .Dt LDD 1


Property changes on: trunk/usr.bin/ldd/ldd.1
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/usr.bin/ldd/ldd.c
===================================================================
--- trunk/usr.bin/ldd/ldd.c	2018-07-07 17:37:34 UTC (rev 11498)
+++ trunk/usr.bin/ldd/ldd.c	2018-07-07 17:38:07 UTC (rev 11499)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /*
  * Copyright (c) 1993 Paul Kranenburg
  * All rights reserved.
@@ -29,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__MBSDID("$MidnightBSD$");
+__FBSDID("$FreeBSD: stable/10/usr.bin/ldd/ldd.c 300458 2016-05-23 05:19:37Z truckman $");
 
 #include <sys/wait.h>
 
@@ -49,12 +50,6 @@
 
 #include "extern.h"
 
-#ifdef COMPAT_32BIT
-#define	LD_	"LD_32_"
-#else
-#define	LD_	"LD_"
-#endif
-
 /*
  * 32-bit ELF data structures can only be used if the system header[s] declare
  * them.  There is no official macro for determining whether they are declared,
@@ -64,6 +59,16 @@
 #define	ELF32_SUPPORTED
 #endif
 
+#define	LDD_SETENV(name, value, overwrite) do {		\
+	setenv("LD_" name, value, overwrite);		\
+	setenv("LD_32_" name, value, overwrite);	\
+} while (0)
+
+#define	LDD_UNSETENV(name) do {		\
+	unsetenv("LD_" name);		\
+	unsetenv("LD_32_" name);	\
+} while (0)
+
 static int	is_executable(const char *fname, int fd, int *is_shlib,
 		    int *type);
 static void	usage(void);
@@ -79,10 +84,10 @@
 static int
 execldd32(char *file, char *fmt1, char *fmt2, int aflag, int vflag)
 {
-	char *argv[8];
+	char *argv[9];
 	int i, rval, status;
 
-	unsetenv(LD_ "TRACE_LOADED_OBJECTS");
+	LDD_UNSETENV("TRACE_LOADED_OBJECTS");
 	rval = 0;
 	i = 0;
 	argv[i++] = strdup(_PATH_LDD32);
@@ -121,7 +126,7 @@
 	}
 	while (i--)
 		free(argv[i]);
-	setenv(LD_ "TRACE_LOADED_OBJECTS", "yes", 1);
+	LDD_SETENV("TRACE_LOADED_OBJECTS", "yes", 1);
 	return (rval);
 }
 #endif
@@ -210,15 +215,15 @@
 		}
 
 		/* ld.so magic */
-		setenv(LD_ "TRACE_LOADED_OBJECTS", "yes", 1);
+		LDD_SETENV("TRACE_LOADED_OBJECTS", "yes", 1);
 		if (fmt1 != NULL)
-			setenv(LD_ "TRACE_LOADED_OBJECTS_FMT1", fmt1, 1);
+			LDD_SETENV("TRACE_LOADED_OBJECTS_FMT1", fmt1, 1);
 		if (fmt2 != NULL)
-			setenv(LD_ "TRACE_LOADED_OBJECTS_FMT2", fmt2, 1);
+			LDD_SETENV("TRACE_LOADED_OBJECTS_FMT2", fmt2, 1);
 
-		setenv(LD_ "TRACE_LOADED_OBJECTS_PROGNAME", *argv, 1);
+		LDD_SETENV("TRACE_LOADED_OBJECTS_PROGNAME", *argv, 1);
 		if (aflag)
-			setenv(LD_ "TRACE_LOADED_OBJECTS_ALL", "1", 1);
+			LDD_SETENV("TRACE_LOADED_OBJECTS_ALL", "1", 1);
 		else if (fmt1 == NULL && fmt2 == NULL)
 			/* Default formats */
 			printf("%s:\n", *argv);
@@ -373,9 +378,19 @@
 			return (0);
 		}
 		if (hdr.elf.e_type == ET_DYN) {
-			if (hdr.elf.e_ident[EI_OSABI] == ELFOSABI_FREEBSD) {
+			switch (hdr.elf.e_ident[EI_OSABI]) {
+			case ELFOSABI_FREEBSD:
 				*is_shlib = 1;
 				return (1);
+#ifdef __ARM_EABI__
+			case ELFOSABI_NONE:
+				if (hdr.elf.e_machine != EM_ARM)
+					break;
+				if (((hdr.elf.e_flags & 0xff000000) >> 24) < 4)
+					break;
+				*is_shlib = 1;
+				return (1);
+#endif
 			}
 			warnx("%s: not a FreeBSD ELF shared object", fname);
 			return (0);

Modified: trunk/usr.bin/ldd/sods.c
===================================================================
--- trunk/usr.bin/ldd/sods.c	2018-07-07 17:37:34 UTC (rev 11498)
+++ trunk/usr.bin/ldd/sods.c	2018-07-07 17:38:07 UTC (rev 11499)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /*
  * Copyright (C) 1996-1997 John D. Polstra.  All rights reserved.
  *
@@ -24,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__MBSDID("$MidnightBSD$");
+__FBSDID("$FreeBSD: stable/10/usr.bin/ldd/sods.c 264785 2014-04-22 21:25:03Z brueffer $");
 
 #include <sys/types.h>
 #include <sys/mman.h>
@@ -204,7 +205,6 @@
 	warnx("%s: this is an ELF program; use objdump to examine", fname);
 	++error_count;
 	munmap(objbase, sb.st_size);
-	close(fd);
 	return;
     }
 



More information about the Midnightbsd-cvs mailing list