123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- diff -Nur glibc-2.38.orig/sysdeps/m68k/m680x0/bits/flt-eval-method.h glibc-2.38/sysdeps/m68k/m680x0/bits/flt-eval-method.h
- --- glibc-2.38.orig/sysdeps/m68k/m680x0/bits/flt-eval-method.h 2023-07-31 19:54:16.000000000 +0200
- +++ glibc-2.38/sysdeps/m68k/m680x0/bits/flt-eval-method.h 1970-01-01 01:00:00.000000000 +0100
- @@ -1,25 +0,0 @@
- -/* Define __GLIBC_FLT_EVAL_METHOD. M68K version.
- - Copyright (C) 2016-2023 Free Software Foundation, Inc.
- - This file is part of the GNU C Library.
- -
- - 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
- - <https://www.gnu.org/licenses/>. */
- -
- -#ifndef _MATH_H
- -# error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."
- -#endif
- -
- -/* The m68k FPUs evaluate all values in the 96-bit floating-point
- - format which is also available for the user as 'long double'. */
- -#define __GLIBC_FLT_EVAL_METHOD 2
- diff -Nur glibc-2.38.orig/sysdeps/m68k/m680x0/lshift.S glibc-2.38/sysdeps/m68k/m680x0/lshift.S
- --- glibc-2.38.orig/sysdeps/m68k/m680x0/lshift.S 2023-07-31 19:54:16.000000000 +0200
- +++ glibc-2.38/sysdeps/m68k/m680x0/lshift.S 1970-01-01 01:00:00.000000000 +0100
- @@ -1,168 +0,0 @@
- -/* mc68020 __mpn_lshift -- Shift left a low-level natural-number integer.
- -
- -Copyright (C) 1996-2023 Free Software Foundation, Inc.
- -
- -This file is part of the GNU MP Library.
- -
- -The GNU MP 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 MP 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 MP Library. If not, see <https://www.gnu.org/licenses/>. */
- -
- -/*
- - INPUT PARAMETERS
- - res_ptr (sp + 4)
- - s_ptr (sp + 8)
- - s_size (sp + 16)
- - cnt (sp + 12)
- -*/
- -
- -#include "sysdep.h"
- -#include "asm-syntax.h"
- -
- -#define res_ptr a1
- -#define s_ptr a0
- -#define s_size d6
- -#define cnt d4
- -
- - TEXT
- -ENTRY(__mpn_lshift)
- -
- -/* Save used registers on the stack. */
- - moveml R(d2)-R(d6)/R(a2),MEM_PREDEC(sp)
- - cfi_adjust_cfa_offset (6*4)
- - cfi_rel_offset (R(d2), 0)
- - cfi_rel_offset (R(d3), 4)
- - cfi_rel_offset (R(d4), 8)
- - cfi_rel_offset (R(d5), 12)
- - cfi_rel_offset (R(d6), 16)
- - cfi_rel_offset (R(a2), 20)
- -
- -/* Copy the arguments to registers. */
- - movel MEM_DISP(sp,28),R(res_ptr)
- - movel MEM_DISP(sp,32),R(s_ptr)
- - movel MEM_DISP(sp,36),R(s_size)
- - movel MEM_DISP(sp,40),R(cnt)
- -
- - moveql #1,R(d5)
- - cmpl R(d5),R(cnt)
- - bne L(Lnormal)
- - cmpl R(s_ptr),R(res_ptr)
- - bls L(Lspecial) /* jump if s_ptr >= res_ptr */
- -#if (defined (__mc68020__) || defined (__NeXT__) || defined(mc68020))
- - lea MEM_INDX1(s_ptr,s_size,l,4),R(a2)
- -#else /* not mc68020 */
- - movel R(s_size),R(d0)
- - asll #2,R(d0)
- - lea MEM_INDX(s_ptr,d0,l),R(a2)
- -#endif
- - cmpl R(res_ptr),R(a2)
- - bls L(Lspecial) /* jump if res_ptr >= s_ptr + s_size */
- -
- -L(Lnormal:)
- - moveql #32,R(d5)
- - subl R(cnt),R(d5)
- -
- -#if (defined (__mc68020__) || defined (__NeXT__) || defined(mc68020))
- - lea MEM_INDX1(s_ptr,s_size,l,4),R(s_ptr)
- - lea MEM_INDX1(res_ptr,s_size,l,4),R(res_ptr)
- -#else /* not mc68000 */
- - movel R(s_size),R(d0)
- - asll #2,R(d0)
- - addl R(s_size),R(s_ptr)
- - addl R(s_size),R(res_ptr)
- -#endif
- - movel MEM_PREDEC(s_ptr),R(d2)
- - movel R(d2),R(d0)
- - lsrl R(d5),R(d0) /* compute carry limb */
- -
- - lsll R(cnt),R(d2)
- - movel R(d2),R(d1)
- - subql #1,R(s_size)
- - beq L(Lend)
- - lsrl #1,R(s_size)
- - bcs L(L1)
- - subql #1,R(s_size)
- -
- -L(Loop:)
- - movel MEM_PREDEC(s_ptr),R(d2)
- - movel R(d2),R(d3)
- - lsrl R(d5),R(d3)
- - orl R(d3),R(d1)
- - movel R(d1),MEM_PREDEC(res_ptr)
- - lsll R(cnt),R(d2)
- -L(L1:)
- - movel MEM_PREDEC(s_ptr),R(d1)
- - movel R(d1),R(d3)
- - lsrl R(d5),R(d3)
- - orl R(d3),R(d2)
- - movel R(d2),MEM_PREDEC(res_ptr)
- - lsll R(cnt),R(d1)
- -
- - dbf R(s_size),L(Loop)
- - subl #0x10000,R(s_size)
- - bcc L(Loop)
- -
- -L(Lend:)
- - movel R(d1),MEM_PREDEC(res_ptr) /* store least significant limb */
- -
- -/* Restore used registers from stack frame. */
- - moveml MEM_POSTINC(sp),R(d2)-R(d6)/R(a2)
- - cfi_remember_state
- - cfi_adjust_cfa_offset (-6*4)
- - cfi_restore (R(d2))
- - cfi_restore (R(d3))
- - cfi_restore (R(d4))
- - cfi_restore (R(d5))
- - cfi_restore (R(d6))
- - cfi_restore (R(a2))
- - rts
- -
- -/* We loop from least significant end of the arrays, which is only
- - permissible if the source and destination don't overlap, since the
- - function is documented to work for overlapping source and destination. */
- -
- - cfi_restore_state
- -L(Lspecial:)
- - clrl R(d0) /* initialize carry */
- - eorw #1,R(s_size)
- - lsrl #1,R(s_size)
- - bcc L(LL1)
- - subql #1,R(s_size)
- -
- -L(LLoop:)
- - movel MEM_POSTINC(s_ptr),R(d2)
- - addxl R(d2),R(d2)
- - movel R(d2),MEM_POSTINC(res_ptr)
- -L(LL1:)
- - movel MEM_POSTINC(s_ptr),R(d2)
- - addxl R(d2),R(d2)
- - movel R(d2),MEM_POSTINC(res_ptr)
- -
- - dbf R(s_size),L(LLoop)
- - addxl R(d0),R(d0) /* save cy in lsb */
- - subl #0x10000,R(s_size)
- - bcs L(LLend)
- - lsrl #1,R(d0) /* restore cy */
- - bra L(LLoop)
- -
- -L(LLend:)
- -/* Restore used registers from stack frame. */
- - moveml MEM_POSTINC(sp),R(d2)-R(d6)/R(a2)
- - cfi_adjust_cfa_offset (-6*4)
- - cfi_restore (R(d2))
- - cfi_restore (R(d3))
- - cfi_restore (R(d4))
- - cfi_restore (R(d5))
- - cfi_restore (R(d6))
- - cfi_restore (R(a2))
- - rts
- -END(__mpn_lshift)
- diff -Nur glibc-2.38.orig/sysdeps/m68k/m680x0/m68020/wordcopy.S glibc-2.38/sysdeps/m68k/m680x0/m68020/wordcopy.S
- --- glibc-2.38.orig/sysdeps/m68k/m680x0/m68020/wordcopy.S 2023-07-31 19:54:16.000000000 +0200
- +++ glibc-2.38/sysdeps/m68k/m680x0/m68020/wordcopy.S 1970-01-01 01:00:00.000000000 +0100
- @@ -1 +0,0 @@
- -/* Empty, not needed. */
- diff -Nur glibc-2.38.orig/sysdeps/m68k/wordcopy.c glibc-2.38/sysdeps/m68k/wordcopy.c
- --- glibc-2.38.orig/sysdeps/m68k/wordcopy.c 1970-01-01 01:00:00.000000000 +0100
- +++ glibc-2.38/sysdeps/m68k/wordcopy.c 2023-08-10 16:23:10.972526508 +0200
- @@ -0,0 +1,21 @@
- +/* Definitions for memory copy functions. Motorola 68020 version.
- + Copyright (C) 2023 Free Software Foundation, Inc.
- + This file is part of the GNU C Library.
- +
- + 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
- + <https://www.gnu.org/licenses/>. */
- +
- +#if !defined(__mc68020__) && !defined(mc68020)
- +#include <string/wordcopy.c>
- +#endif
|