From 98d909d95df113f8a27307086c6a505b211f144e Mon Sep 17 00:00:00 2001 From: Neale Ferguson Date: Thu, 8 Dec 2016 11:47:09 -0500 Subject: [PATCH] s390: desupport 32-bit Linux kernels on s390/s390x Remove the obsolete and custom lwp assembler for the s390 and s390x architectures. That assembler is no longer needed since 32-bit mainframe Linux distributions are no longer supported and are very unlikely to be in use. The generic process.default.s is sufficient for modern 64-bit Linux distributions on s390/s390x. [mmeffie@sinenomine.net: commit message wording] Reviewed-on: https://gerrit.openafs.org/12475 Reviewed-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit 1d8cb56999a4ab25ae4cbc8e8a688b8100aedd3b) Change-Id: Iee572ef3a86f5502e37ddc0775da13b874add669 Reviewed-on: https://gerrit.openafs.org/12499 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Mark Vitale Reviewed-by: Stephan Wiesand --- src/lwp/Makefile.in | 8 ---- src/lwp/process.s390.s | 101 ---------------------------------------- src/lwp/process.s390x.s | 101 ---------------------------------------- 3 files changed, 210 deletions(-) delete mode 100644 src/lwp/process.s390.s delete mode 100644 src/lwp/process.s390x.s diff --git a/src/lwp/Makefile.in b/src/lwp/Makefile.in index 15c1375f3..445b695b3 100644 --- a/src/lwp/Makefile.in +++ b/src/lwp/Makefile.in @@ -61,14 +61,6 @@ process.o : process.s process.i386.s process.amd64.s process.c lwp.o $(CCOBJ) ${LWP_DBG} ${LWP_OPTMZ} -c -I${TOP_INCDIR} -KPIC -G0 ${srcdir}/process.s;; \ sgi_61 | sgi_62 | sgi_63 ) \ $(CCOBJ) ${LWP_DBG} ${LWP_OPTMZ} -c ${XCFLAGS} ${ARCHFLAGS} -I${TOP_INCDIR} -KPIC -G0 ${srcdir}/process.s;; \ - s390_*) \ - $(PATH_CPP) -P -I${TOP_INCDIR} ${srcdir}/process.s390.s >process.ss; \ - ${AS} -ahlns process.ss -o process.o >process.lst; \ - $(RM) process.ss ;; \ - s390x_*) \ - $(PATH_CPP) -P -I${TOP_INCDIR} ${srcdir}/process.s390x.s >process.ss; \ - ${AS} -ahlns process.ss -o process.o >process.lst; \ - $(RM) process.ss ;; \ *_darwin* ) \ $(RM) -f process.o ; \ CURRENTBUILDARCH="${ARCHFLAGS}"; \ diff --git a/src/lwp/process.s390.s b/src/lwp/process.s390.s deleted file mode 100644 index bda4522d9..000000000 --- a/src/lwp/process.s390.s +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright 2000, International Business Machines Corporation and others. - * All Rights Reserved. - * - * This software has been released under the terms of the IBM Public - * License. For details, see the LICENSE file in the top-level source - * directory or online at http://www.openafs.org/dl/license10.html - * - * Linux for S/390 (31 bit) - * - * Written by Neale Ferguson - * - * additional munging by Adam Thornton - */ - -#define IGNORE_STDS_H 1 -#include - - .file "process.s" - - .globl savecontext - .type savecontext,%function - /* - * savecontext(f, area1, newsp) - * int (*f)(); struct savearea *area1; char *newsp; - * f - r2 - * area1 - r3 - * newsp - r4 - */ - - /* - * struct savearea { - * char *topstack; - * } - */ - -P_PRE: .long PRE_Block -P_ABORT: .long abort - -savecontext: - stm %r6,%r15,24(%r15) /* Save our registers */ - lr %r1,%r15 - ahi %r15,-96 /* Move out of harm's way */ - st %r1,0(%r15) - bras %r5,.L0 /* Get A(A(PRE_Block)) */ - .long PRE_Block - .L0: - l %r5,0(%r5) /* Get A(PRE_Block) */ - mvi 3(%r5),1 /* Set it */ - lr %r6,%r3 /* Get base of savearea */ - st %r15,0(%r3) /* Save stack pointer */ - ltr %r4,%r4 /* If new sp is 0 */ - jz .L1 /* ... don't change sp */ - lr %r15,%r4 /* Set new stack pointer */ - .L1: - br %r2 /* Call the routine */ - /* Can't get here....*/ - - bras %r5,.L2 - .long abort - .L2: - l %r5,0(%r5) - balr %r14,%r5 - - .savecontext_end: - .size savecontext,.savecontext_end-savecontext - - /* - * returnto(area2) - * struct savearea *area2; - * - * area2 - r2 - */ - .globl returnto - .type returnto,%function -returnto: - l %r15,0(%r2) /* New frame, to get correct pointer*/ - bras %r5,.L3 /* Get A(A(PRE_Block)) - */ - .long PRE_Block - .L3: - l %r5,0(%r5) /* Get A(PRE_Block) */ - /*xc 0(4,%r5),0(%r5) /* Clear it */ - mvi 3(%r5),0 /* Clear it */ - l %r15,0(%r15) - lm %r6,%r15,24(%r15) /* Restore registers */ - br %r14 /* Return */ - - /* Can't happen */ - la %r2,1234 - bras %r5,.L4 - .long abort - .L4: - l %r5,0(%r5) - basr %r14,%r5 - .returnto_end: - .size returnto,.returnto_end-returnto - -#if defined(__linux__) && defined(__ELF__) - .section .note.GNU-stack,"",%progbits -#endif diff --git a/src/lwp/process.s390x.s b/src/lwp/process.s390x.s deleted file mode 100644 index f24afdce0..000000000 --- a/src/lwp/process.s390x.s +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright 2000, International Business Machines Corporation and others. - * All Rights Reserved. - * - * This software has been released under the terms of the IBM Public - * License. For details, see the LICENSE file in the top-level source - * directory or online at http://www.openafs.org/dl/license10.html - * - * Linux for S/390X (64 bit) - * by Soewono Effendi - * & Horst Birthelmer - * - * based on Linux for S/390 (31 bit) - * Written by Neale Ferguson -*/ - -#define IGNORE_STDS_H 1 -#include - - .file "process.s" - - .globl savecontext - .type savecontext,%function - /* - * savecontext(f, area1, newsp) - * int (*f)(); struct savearea *area1; char *newsp; - * f - r2 - * area1 - r3 - * newsp - r4 - */ - - /* - * struct savearea { - * char *topstack; - * } - */ - -P_PRE: .long PRE_Block -P_ABORT: .long abort - -savecontext: - stmg %r6,%r15,48(%r15) /* Save our registers */ - lgr %r1,%r15 - aghi %r15,-160 - stg %r1,0(%r15) - brasl %r5,.L0 /* Get A(A(PRE_Block)) */ - .long PRE_Block - .L0: - l %r5,0(%r5) /* Get A(PRE_Block) */ - mvi 3(%r5),1 /* Set it */ - lgr %r6,%r3 /* Get base of savearea */ - stg %r15,0(%r3) /* Save stack pointer */ - ltgr %r4,%r4 /* If new sp is 0 */ - jz .L1 /* ... don't change sp */ - lgr %r15,%r4 /* Set new stack pointer */ - .L1: - br %r2 /* Call the routine */ - /* Can't get here....*/ - - brasl %r5,.L2 - .long abort - .L2: - l %r5,0(%r5) - balr %r14,%r5 - - .savecontext_end: - .size savecontext,.savecontext_end-savecontext - - /* - * returnto(area2) - * struct savearea *area2; - * - * area2 - r2 - */ - .globl returnto - .type returnto,%function -returnto: - lg %r15,0(%r2) /* New frame, to get correct pointer*/ - brasl %r5,.L3 /* Get A(A(PRE_Block)) */ - .long PRE_Block - .L3: - l %r5,0(%r5) /* Get A(PRE_Block) */ - /*xc 0(4,%r5),0(%r5) /* Clear it */ - mvi 3(%r5),0 /* Clear it */ - lg %r15,0(%r15) - lmg %r6,%r15,48(%r15) /* Restore registers */ - br %r14 /* Return */ - - /* Can't happen */ - la %r2,1234 - brasl %r5,.L4 - .long abort - .L4: - l %r5,0(%r5) - basr %r14,%r5 - .returnto_end: - .size returnto,.returnto_end-returnto - -#if defined(__linux__) && defined(__ELF__) - .section .note.GNU-stack,"",%progbits -#endif -- 2.39.5