Removing some cruft...
M. Warner Losh
imp at bsdimp.com
Tue Dec 16 15:19:26 PST 2008
In message: <20081216212746.GA28834 at freebsd.org>
Roman Divacky <rdivacky at 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);
More information about the freebsd-arch
mailing list