Module Name: src Committed By: skrll Date: Thu Sep 27 11:20:21 UTC 2012
Modified Files: src/lib/libc/arch/arm: Makefile.inc src/lib/libc/arch/arm/gen: swapcontext.S Added Files: src/lib/libc/arch/arm: genassym.cf Log Message: Remove magic numbers. To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/lib/libc/arch/arm/Makefile.inc cvs rdiff -u -r0 -r1.1 src/lib/libc/arch/arm/genassym.cf cvs rdiff -u -r1.7 -r1.8 src/lib/libc/arch/arm/gen/swapcontext.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libc/arch/arm/Makefile.inc diff -u src/lib/libc/arch/arm/Makefile.inc:1.15 src/lib/libc/arch/arm/Makefile.inc:1.16 --- src/lib/libc/arch/arm/Makefile.inc:1.15 Mon Aug 6 07:55:21 2012 +++ src/lib/libc/arch/arm/Makefile.inc Thu Sep 27 11:20:20 2012 @@ -1,10 +1,12 @@ -# $NetBSD: Makefile.inc,v 1.15 2012/08/06 07:55:21 matt Exp $ +# $NetBSD: Makefile.inc,v 1.16 2012/09/27 11:20:20 skrll Exp $ .include <bsd.own.mk> SRCS+= __aeabi_read_tp.S __sigaction14_sigtramp.c __sigtramp2.S +CPPFLAGS += -I. CPPFLAGS += -DSOFTFLOAT + .if ${MACHINE_ARCH} == "earm" || ${MACHINE_ARCH} == "earmeb" SRCS+= __aeabi_ldivmod.S __aeabi_uldivmod.S SRCS+= __aeabi_lcmp.c __aeabi_ulcmp.c Index: src/lib/libc/arch/arm/gen/swapcontext.S diff -u src/lib/libc/arch/arm/gen/swapcontext.S:1.7 src/lib/libc/arch/arm/gen/swapcontext.S:1.8 --- src/lib/libc/arch/arm/gen/swapcontext.S:1.7 Thu Sep 27 09:53:53 2012 +++ src/lib/libc/arch/arm/gen/swapcontext.S Thu Sep 27 11:20:20 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: swapcontext.S,v 1.7 2012/09/27 09:53:53 skrll Exp $ */ +/* $NetBSD: swapcontext.S,v 1.8 2012/09/27 11:20:20 skrll Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,9 +30,10 @@ */ #include "SYS.h" +#include "assym.h" #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: swapcontext.S,v 1.7 2012/09/27 09:53:53 skrll Exp $") + RCSID("$NetBSD: swapcontext.S,v 1.8 2012/09/27 11:20:20 skrll Exp $") #endif /* LIBC_SCCS && !lint */ ENTRY(swapcontext) @@ -43,8 +44,8 @@ ENTRY(swapcontext) add sp, #4 ldmfd sp!, {r0-r1, lr} RETc(ne) - str sp, [r0, #(36 + 13*4)] /* Adjust saved SP. */ - str lr, [r0, #(36 + 15*4)] /* Adjust saved PC. */ + str sp, [r0, #_UC_REGS_SP] /* Adjust saved SP. */ + str lr, [r0, #_UC_REGS_PC] /* Adjust saved PC. */ #ifdef SOFTFLOAT /* Ahem. */ #endif Added files: Index: src/lib/libc/arch/arm/genassym.cf diff -u /dev/null src/lib/libc/arch/arm/genassym.cf:1.1 --- /dev/null Thu Sep 27 11:20:21 2012 +++ src/lib/libc/arch/arm/genassym.cf Thu Sep 27 11:20:20 2012 @@ -0,0 +1,36 @@ +# $NetBSD: genassym.cf,v 1.1 2012/09/27 11:20:20 skrll Exp $ + +# +# Copyright (c) 2012 The NetBSD Foundation, Inc. +# All rights reserved. +# +# This code is derived from software contributed to The NetBSD Foundation +# by Nick Hudson +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +include <sys/types.h> +include <ucontext.h> + +define _UC_REGS_SP offsetof(ucontext_t, uc_mcontext.__gregs[_REG_SP]) +define _UC_REGS_PC offsetof(ucontext_t, uc_mcontext.__gregs[_REG_PC])