From 15984e724d7ec7b9cb5179dff96bcb1ddf2fdc66 Mon Sep 17 00:00:00 2001 From: Packit Service Date: Feb 03 2021 06:33:29 +0000 Subject: Apply patch glibc-rh1659438-10.patch patch_name: glibc-rh1659438-10.patch present_in_specfile: true location_in_specfile: 103 --- diff --git a/sysdeps/s390/s390-32/bcopy.S b/sysdeps/s390/s390-32/bcopy.S deleted file mode 100644 index 560e04f..0000000 --- a/sysdeps/s390/s390-32/bcopy.S +++ /dev/null @@ -1,85 +0,0 @@ -/* bcopy -- copy a block from source to destination. S/390 version. - This file is part of the GNU C Library. - Copyright (C) 2000-2018 Free Software Foundation, Inc. - Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* INPUT PARAMETERS - %r2 = address of source - %r3 = address of destination - %r4 = number of bytes to copy. */ - -#include "sysdep.h" -#include "asm-syntax.h" - - .text -ENTRY(__bcopy) - ltr %r1,%r4 # zero bcopy ? - jz .L4 - clr %r2,%r3 # check against destructive overlap - jnl .L0 - alr %r1,%r2 - clr %r1,%r3 - jh .L7 -.L0: ahi %r4,-1 # length - 1 - lr %r1,%r4 - srl %r1,8 - ltr %r1,%r1 # < 256 bytes to move ? - jz .L2 - chi %r1,255 # > 1MB to move ? - jh .L5 -.L1: mvc 0(256,%r3),0(%r2) # move in 256 byte chunks - la %r2,256(%r2) - la %r3,256(%r3) - brct %r1,.L1 -.L2: bras %r1,.L3 # setup base pointer for execute - mvc 0(1,%r3),0(%r2) # instruction for execute -.L3: ex %r4,0(%r1) # execute mvc with length ((%r4)&255)+1 -.L4: br %r14 - - # data copies > 1MB are faster with mvcle. -.L5: ahi %r4,1 # length + 1 - lr %r5,%r4 # source length - lr %r4,%r2 # source address - lr %r2,%r3 # set destination - lr %r3,%r5 # destination length = source length -.L6: mvcle %r2,%r4,0 # thats it, MVCLE is your friend - jo .L6 - br %r14 -.L7: # destructive overlay, can not use mvcle - lr %r1,%r2 # bcopy is called with source,dest - lr %r2,%r3 # memmove with dest,source! Oh, well... - lr %r3,%r1 - basr %r1,0 -.L8: -#ifdef PIC - al %r1,.L9-.L8(%r1) # get address of global offset table - # load address of memmove - l %r1,memmove@GOT(%r1) - br %r1 -.L9: .long _GLOBAL_OFFSET_TABLE_-.L8 -#else - al %r1,.L9-.L8(%r1) # load address of memmove - br %r1 # jump to memmove -.L9: .long memmove-.L8 -#endif - -END(__bcopy) - -#ifndef NO_WEAK_ALIAS -weak_alias (__bcopy, bcopy) -#endif - diff --git a/sysdeps/s390/s390-64/bcopy.S b/sysdeps/s390/s390-64/bcopy.S deleted file mode 100644 index 806dd15..0000000 --- a/sysdeps/s390/s390-64/bcopy.S +++ /dev/null @@ -1,71 +0,0 @@ -/* bcopy -- copy a block from source to destination. 64 bit S/390 version. - This file is part of the GNU C Library. - Copyright (C) 2000-2018 Free Software Foundation, Inc. - Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* INPUT PARAMETERS - %r2 = address of source - %r3 = address of destination - %r4 = number of bytes to copy. */ - -#include "sysdep.h" -#include "asm-syntax.h" - - .text -ENTRY(__bcopy) - ltgr %r1,%r4 # zero bcopy ? - jz .L4 - clgr %r2,%r3 # check against destructive overlap - jnl .L0 - algr %r1,%r2 - clgr %r1,%r3 - jh .L7 -.L0: aghi %r4,-1 # length - 1 - srlg %r1,%r4,8 - ltgr %r1,%r1 # < 256 bytes to move ? - jz .L2 - cghi %r1,255 # > 1MB to move ? - jh .L5 -.L1: mvc 0(256,%r3),0(%r2) # move in 256 byte chunks - la %r2,256(%r2) - la %r3,256(%r3) - brctg %r1,.L1 -.L2: bras %r1,.L3 # setup base pointer for execute - mvc 0(1,%r3),0(%r2) # instruction for execute -.L3: ex %r4,0(%r1) # execute mvc with length ((%r4)&255)+1 -.L4: br %r14 - # data copies > 1MB are faster with mvcle. -.L5: aghi %r4,1 # length + 1 - lgr %r5,%r4 # source length - lgr %r4,%r2 # source address - lgr %r2,%r3 # set destination - lgr %r3,%r5 # destination length = source length -.L6: mvcle %r2,%r4,0 # thats it, MVCLE is your friend - jo .L6 - br %r14 -.L7: # destructive overlay, can not use mvcle - lgr %r1,%r2 # bcopy is called with source,dest - lgr %r2,%r3 # memmove with dest,source! Oh, well... - lgr %r3,%r1 - jg HIDDEN_BUILTIN_JUMPTARGET(memmove) - -END(__bcopy) - -#ifndef NO_WEAK_ALIAS -weak_alias (__bcopy, bcopy) -#endif -