Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Dec 2008 16:16:38 -0700 (MST)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        rdivacky@freebsd.org
Cc:        arch@freebsd.org
Subject:   Re: Removing some cruft...
Message-ID:  <20081216.161638.644659879.imp@bsdimp.com>
In-Reply-To: <20081216212746.GA28834@freebsd.org>
References:  <20081216.131845.-1739986974.imp@bsdimp.com> <20081216212746.GA28834@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20081216212746.GA28834@freebsd.org>
            Roman Divacky <rdivacky@freebsd.org> writes:
: On Tue, Dec 16, 2008 at 01:18:45PM -0700, M. Warner Losh wrote:
: > I was looking at the MIPS elf stuff based on a submission of some
: > 64-bit support.  In doing so, I discovered a number of 'unused' types
: > that appear to have comments that indicate that they can be removed
: > now and were just slavishly copied from arch to arch to arch.
: > 
: > /*
: >  * The following non-standard values are used for passing information
: >  * from John Polstra's testbed program to the dynamic linker.  These
: >  * are expected to go away soon.
: >  *
: >  * Unfortunately, these overlap the Linux non-standard values, so they
: >  * must not be used in the same context.
: >  */
: > #define	AT_BRK		10	/* Starting point for sbrk and brk. */
: > #define	AT_DEBUG	11	/* Debugging level. */
: > 
: > These have be slavishly copied to arm, powerpc, sparc64, ia64, mips,
: > sun4v and amd64.  All these files have nearly identical comments
: > (except powerpc, which changes the value).
: > 
: > The only place these are used in the kernel is in the Linux!
: > emulation in i386/linux/linux_sysvec.c and
: > amd64/linux32/linux32_sysvec.c:
: > 
: > 	if (args->trace)
: > 		AUXARGS_ENTRY(pos, AT_DEBUG, 1);
: > 
: > Since AT_DEBUG and AT_UID have the same value, and we look at AT_UID
: > later, we wind up passing the wrong value for AT_UID.  Fortunately, we
: > don't use AT_UID for anything in the tree....
: 
: I cannot find any reference of AT_DEBUG in linux 2.6.16 sources and it
: indeed looks bogus...

What do you think of the following patch?

Warner

Index: sys/amd64/linux32/linux32_sysvec.c
===================================================================
--- sys/amd64/linux32/linux32_sysvec.c	(revision 186097)
+++ sys/amd64/linux32/linux32_sysvec.c	(working copy)
@@ -254,8 +254,6 @@
 	args = (Elf32_Auxargs *)imgp->auxargs;
 	pos = base + (imgp->args->argc + imgp->args->envc + 2);
 
-	if (args->trace)
-		AUXARGS_ENTRY_32(pos, AT_DEBUG, 1);
 	if (args->execfd != -1)
 		AUXARGS_ENTRY_32(pos, AT_EXECFD, args->execfd);
 	AUXARGS_ENTRY_32(pos, AT_PHDR, args->phdr);
Index: sys/i386/linux/linux_sysvec.c
===================================================================
--- sys/i386/linux/linux_sysvec.c	(revision 186097)
+++ sys/i386/linux/linux_sysvec.c	(working copy)
@@ -245,8 +245,6 @@
 	args = (Elf32_Auxargs *)imgp->auxargs;
 	pos = *stack_base + (imgp->args->argc + imgp->args->envc + 2);
 
-	if (args->trace)
-		AUXARGS_ENTRY(pos, AT_DEBUG, 1);
 	if (args->execfd != -1)
 		AUXARGS_ENTRY(pos, AT_EXECFD, args->execfd);
 	AUXARGS_ENTRY(pos, AT_PHDR, args->phdr);



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