diff --git a/sysdeps/alpha/bsd-_setjmp.S b/sysdeps/alpha/bsd-_setjmp.S index be7f6dd05f..1bb3e4ab37 100644 --- a/sysdeps/alpha/bsd-_setjmp.S +++ b/sysdeps/alpha/bsd-_setjmp.S @@ -1,21 +1,21 @@ /* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. Alpha version. -Copyright (C) 1994, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. + Copyright (C) 1994, 1996 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 Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 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 -Library General Public License for more details. + 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 + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* This just does a tail-call to `__sigsetjmp (ARG, 0)'. We cannot do it in C because it must be a tail-call, so frame-unwinding @@ -26,8 +26,10 @@ Cambridge, MA 02139, USA. */ ENTRY(_setjmp) ldgp $29,0($27) #ifdef PROF + .set noat lda AT, _mcount jsr AT, (AT), _mcount + .set at #endif .prologue 1 bis $31, $31, $17 /* Pass a second argument of zero. */ diff --git a/sysdeps/alpha/bsd-setjmp.S b/sysdeps/alpha/bsd-setjmp.S index 2b799613d7..cf5bf189de 100644 --- a/sysdeps/alpha/bsd-setjmp.S +++ b/sysdeps/alpha/bsd-setjmp.S @@ -1,21 +1,21 @@ /* BSD `setjmp' entry point to `sigsetjmp (..., 1)'. Alpha version. -Copyright (C) 1994, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. + Copyright (C) 1994, 1996 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 Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 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 -Library General Public License for more details. + 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 + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* This just does a tail-call to `__sigsetjmp (ARG, 1)'. We cannot do it in C because it must be a tail-call, so frame-unwinding @@ -26,8 +26,10 @@ Cambridge, MA 02139, USA. */ ENTRY(setjmp) ldgp $29, 0($27) #ifdef PROF + .set noat lda AT, _mcount jsr AT, (AT), _mcount + .set at #endif .prologue 1 bis $31, 1, $17 /* Pass a second argument of one. */ diff --git a/sysdeps/alpha/htonl.S b/sysdeps/alpha/htonl.S index 55d4f62bc7..c6e09f134f 100644 --- a/sysdeps/alpha/htonl.S +++ b/sysdeps/alpha/htonl.S @@ -1,28 +1,30 @@ /* Copyright (C) 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. + 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 Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 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 -Library General Public License for more details. + 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 + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include ENTRY(__htonl) #ifdef PROF ldgp gp, 0(pv) + .set noat lda AT, _mcount jsr AT, (AT), _mcount + .set at .prologue 1 #else .prologue 0 diff --git a/sysdeps/alpha/htons.S b/sysdeps/alpha/htons.S index 743d3e2474..8d3aefe149 100644 --- a/sysdeps/alpha/htons.S +++ b/sysdeps/alpha/htons.S @@ -1,28 +1,30 @@ /* Copyright (C) 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. + 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 Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 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 -Library General Public License for more details. + 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 + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include ENTRY(__htons) #ifdef PROF ldgp gp, 0(pv) + .set noat lda AT, _mcount jsr AT, (AT), _mcount + .set at .prologue 1 #else .prologue 0 diff --git a/sysdeps/alpha/memcpy.S b/sysdeps/alpha/memcpy.S deleted file mode 100644 index 4ee9c115db..0000000000 --- a/sysdeps/alpha/memcpy.S +++ /dev/null @@ -1,276 +0,0 @@ -/* Copyright (C) 1996 Free Software Foundation, Inc. - Contributed by Richard Henderson (rth@tamu.edu) - - 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 Library General Public License as - published by the Free Software Foundation; either version 2 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If - not, write to the Free Software Foundation, Inc., 675 Mass Ave, - Cambridge, MA 02139, USA. */ - - -/* This is the child of the C-with-inline-assembly memcpy posted by - Martin Ostermann (ost@comnets.rwth-aachen.de). - - This is generally scheduled for the EV5, but whenever necessary and - possible, the autoswap slotting feature of the EV5 is used so that the - code lays out nicely for the EV4 as well. */ - -#include - - .set noreorder - - .text - - .ent copy_fwd_aligned -copy_fwd_aligned: - .frame sp, 0, ra, 0 - .prologue 0 - - /* Aligned forward copy main loop. On entry to this basic block: - t0 == source word waiting to be stored - t2 == loop counter - a0 == destination pointer - a1 == source pointer - a2 mod 8 == byte count in final word */ - .align 4 -$fa_loop: - and t2, 7, t1 # e0 : - beq t1, 1f # .. e1 : - -0: stq_u t0, 0(a0) # e0 : - subq t1, 1, t1 # .. e1 : - ldq_u t0, 8(a1) # e0 : copy up to seven words - addq a0, 8, a0 # .. e1 : - addq a1, 8, a1 # e0 : - bne t1, 0b # .. e1 : - -1: bic t2, 7, t2 # e0 : - beq t2, $fa_tail # .. e1 : - -2: stq_u t0, 0(a0) # e0 : - addq a0, 64, a0 # .. e1 : - ldq_u t3, 8(a1) # e0 : copy eight words as fast as we can - ldq_u t4, 16(a1) # .. e1 : - ldq_u t5, 24(a1) # e0 : - ldq_u t6, 32(a1) # .. e1 : - ldq_u t7, 40(a1) # e0 : - ldq_u t8, 48(a1) # .. e1 : - ldq_u t9, 56(a1) # e0 : - ldq_u t0, 64(a1) # .. e1 : - stq_u t3, -56(a0) # e0 : - subq t2, 8, t2 # .. e1 : - stq_u t4, -48(a0) # e0 : - addq a1, 64, a1 # .. e1 : - stq_u t5, -40(a0) # e0 : - stq_u t6, -32(a0) # e0 : - stq_u t7, -24(a0) # e0 : - stq_u t8, -16(a0) # e0 : - stq_u t9, -8(a0) # e0 : - bne t2, 2b # .. e1 : - - /* Take care of a partial word tail. */ -$fa_tail: - and a2, 7, t3 # e0 : - bne t3, 1f # .. e1 (zdb) - - /* Aligned copy, aligned tail, final store. */ - stq_u t0, 0(a0) - ret - -1: ldq_u t1, 0(a0) # e1 : - mskql t0, a2, t0 # .. e1 : - mskqh t1, a2, t1 # e0 (stall) - bis t0, t1, t0 # e1 : - stq_u t0, 0(a0) # e0 : - ret # .. e1 : - - /* This is the actual entry point to this function. */ - .align 3 -$fwd_aligned: - ldq_u t0, 0(a1) # e0 : - and a0, 7, t3 # .. e1 : - addq a2, t3, a2 # e0 : - subq a2, 1, t2 # e1 : - sra t2, 3, t2 # e0 : - beq t3, $fa_loop # .. e1 : - - ldq_u t1, 0(a0) # e0 : - beq t2, $fa_small # .. e1 : - mskqh t0, a0, t0 # e0 : - mskql t1, a0, t3 # e0 : - bis t0, t3, t0 # e0 : - br $fa_loop # .. e1 : - - /* The move affects exactly one destination word. */ -$fa_small: - mskqh t0, a0, t0 # e0 : - and a2, 7, t4 # .. e1 : - mskql t1, a0, t3 # e0 : - bne t4, 1f # .. e1 : - - or t0, t3, t0 # e0 : - unop # : - stq_u t0, 0(a0) # e0 : - ret # .. e1 : - -1: mskql t0, a2, t0 # e0 : - mskqh t1, a2, t1 # e0 : - or t0, t3, t0 # e0 : - or t0, t1, t0 # e1 : - stq_u t0, 0(a0) # e0 : - ret # .. e1 : - - .end copy_fwd_aligned - - .ent memcpy - .globl memcpy - .align 3 -memcpy: - .frame sp, 0, ra, 0 -#ifdef PROF - ldgp gp, 0(ra) - lda AT, _mcount - jsr AT, (AT), _mcount - .prologue 1 -#else - .prologue 0 -#endif - - mov a0, v0 - beq a2, $zero_length - - /* Are source and destination co-aligned? */ - xor a0, a1, t0 - unop - and t0, 7, t0 - beq t0, $fwd_aligned - br $fwd_unaligned - - .end memcpy - - .ent copy_fwd_unaligned -copy_fwd_unaligned: - .frame sp, 0, ra, 0 - .prologue 0 - - /* Unaligned forward copy main loop. On entry to this basic block: - t0 == source low word, unshifted - t2 == loop counter - t7 == last source byte + 1 - a0 == destination pointer - a1 == source pointer - a2 mod 8 == byte count in final word */ - .align 4 -$fu_loop: - beq t2, $fu_tail # e1 : - blbc t2, 0f # e1 : - - ldq_u t1, 8(a1) # e1 : copy one unaligned word - extql t0, a1, t3 # .. e0 : - addq a1, 8, a1 # e0 : - addq a0, 8, a0 # .. e1 : - extqh t1, a1, t4 # e0 : - subq t2, 1, t2 # .. e1 : - mov t1, t0 # e0 : - or t3, t4, t3 # .. e1 : - stq_u t3, -8(a0) # e0 : - beq t2, $fu_tail # .. e1 : - -0: ldq_u t1, 8(a1) # e1 : copy two unaligned words - extql t0, a1, t3 # .. e0 : - ldq_u t0, 16(a1) # e0 : - subq t2, 2, t2 # .. e1 : - extqh t1, a1, t4 # e0 : - addq a0, 16, a0 # .. e1 : - extql t1, a1, t5 # e0 : - or t3, t4, t3 # .. e1 : - extqh t0, a1, t6 # e0 : - addq a1, 16, a1 # .. e1 : - stq_u t3, -16(a0) # e0 : - or t5, t6, t5 # .. e1 : - stq_u t5, -8(a0) # e0 : - bne t2, 0b # .. e1 : - - /* Take care of a partial words tail. */ -$fu_tail: - ldq_u t4, -1(t7) # e1 : - extql t0, a1, t3 # .. e0 : - extqh t4, a1, t4 # e0 (stall) - and a2, 7, t5 # .. e1 : - or t3, t4, t3 # e0 : - beq t5, 1f # .. e1 : - - ldq_u t1, 0(a0) # e1 : - mskql t3, a2, t3 # .. e0 : - mskqh t1, a2, t1 # e0 (stall) - or t1, t3, t3 # e1 : - -1: stq_u t3, 0(a0) # e0 : - ret # .. e1 : - - /* The entry point to the unaligned forward copy. */ - .align 3 -$fwd_unaligned: - ldq_u t0, 0(a1) # e0 : load initial bits of src - addq a1, a2, t7 # .. e1 : record last byte + 1 of src - and a0, 7, t3 # e0 : find dst misalignment - addq a2, t3, a2 # e1 : find number of words affected - subq a2, 1, t2 # e0 : - cmple a2, 8, t4 # .. e1 : are we dealing with a small block? - subq a1, t3, a1 # e0 : - bne t4, $fu_small # .. e1 : - srl t2, 3, t2 # e0 : - beq t3, $fu_loop # .. e1 : - - /* Take care of an unaligned dst head. */ - ldq_u t5, 0(a0) # e0 : - ldq_u t1, 8(a1) # .. e1 : - extql t0, a1, t3 # e0 : - addq a0, 8, a0 # .. e1 : - extqh t1, a1, t4 # e0 : - addq a1, 8, a1 # .. e1 : - mskql t5, a0, t5 # e0 : - or t3, t4, t3 # .. e1 : - mskqh t3, a0, t3 # e0 : - subq t2, 1, t2 # .. e1 : - or t3, t5, t3 # e0 : - mov t1, t0 # .. e1 : - stq_u t3, -8(a0) # e0 : - br $fu_loop # .. e1 : - - /* The move affects exactly one destination word. */ - .align 3 -$fu_small: - ldq_u t2, 0(a0) # e1 : - extql t0, a1, t3 # .. e0 : - ldq_u t1, -1(t7) # e0 : - and a2, 7, t8 # .. e1 : - mskqh t2, a2, t6 # e0 : - mskql t2, a0, t5 # e0 : - extqh t1, a1, t4 # e0 : - cmovne t8, t6, t8 # .. e1 : - or t3, t4, t3 # e0 : - or t5, t8, t5 # .. e1 : - mskqh t3, a0, t3 # e0 : - and a2, 7, t8 # .. e1 : - mskql t3, a2, t6 # e0 : - cmovne t8, t6, t8 # e1 : - or t3, t5, t3 # e0 : - unop # : - stq_u t3, 0(a0) # e0 : - -$zero_length: - ret # .. e1 : - - .end copy_fwd_unaligned diff --git a/sysdeps/alpha/s_copysign.S b/sysdeps/alpha/s_copysign.S index 739d3deb79..be5b1d07ac 100644 --- a/sysdeps/alpha/s_copysign.S +++ b/sysdeps/alpha/s_copysign.S @@ -1,29 +1,31 @@ /* Copyright (C) 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. -Contributed by David Mosberger + This file is part of the GNU C Library. + Contributed by David Mosberger , 1996. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 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 -Library General Public License for more details. + 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 + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include ENTRY(__copysign) #ifdef PROF ldgp gp, 0(pv) + .set noat lda AT, _mcount jsr AT, (AT), _mcount + .set at .prologue 1 #else .prologue 0 diff --git a/sysdeps/alpha/setjmp.S b/sysdeps/alpha/setjmp.S index f57d49017e..4b2e147b15 100644 --- a/sysdeps/alpha/setjmp.S +++ b/sysdeps/alpha/setjmp.S @@ -1,20 +1,20 @@ /* Copyright (C) 1992, 1994, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. + 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 Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 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 -Library General Public License for more details. + 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 + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include @@ -24,8 +24,10 @@ Cambridge, MA 02139, USA. */ ENTRY (__sigsetjmp) ldgp $29, 0($27) #ifdef PROF + .set noat lda AT, _mcount jsr AT, (AT), _mcount + .set at #endif .prologue 1 diff --git a/sysdeps/alpha/stpcpy.S b/sysdeps/alpha/stpcpy.S index 9c2668b535..46b09d5ac5 100644 --- a/sysdeps/alpha/stpcpy.S +++ b/sysdeps/alpha/stpcpy.S @@ -1,22 +1,21 @@ /* Copyright (C) 1996 Free Software Foundation, Inc. - Contributed by Richard Henderson (rth@tamu.edu) + This file is part of the GNU C Library. + Contributed by Richard Henderson , 1996. -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 Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 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 + Library General Public License for more details. -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 -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* Copy a null-terminated string from SRC to DST. Return a pointer to the null-terminator in the source. */ @@ -28,8 +27,10 @@ Cambridge, MA 02139, USA. */ ENTRY(__stpcpy) ldgp gp, 0(pv) #ifdef PROF + .set noat lda AT, _mcount jsr AT, (AT), _mcount + .set at #endif .prologue 1 diff --git a/sysdeps/alpha/strcat.S b/sysdeps/alpha/strcat.S index e57259f51d..ddc15d9ca6 100644 --- a/sysdeps/alpha/strcat.S +++ b/sysdeps/alpha/strcat.S @@ -1,6 +1,6 @@ /* Copyright (C) 1996 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Richard Henderson (rth@tamu.edu) + Contributed by Richard Henderson , 1996. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as @@ -26,8 +26,10 @@ ENTRY(strcat) ldgp gp, 0(pv) #ifdef PROF + .set noat lda AT, _mcount jsr AT, (AT), _mcount + .set at #endif .prologue 1 diff --git a/sysdeps/alpha/strcpy.S b/sysdeps/alpha/strcpy.S index 823476f750..24c827b10f 100644 --- a/sysdeps/alpha/strcpy.S +++ b/sysdeps/alpha/strcpy.S @@ -1,22 +1,21 @@ /* Copyright (C) 1996 Free Software Foundation, Inc. - Contributed by Richard Henderson (rth@tamu.edu) + This file is part of the GNU C Library. + Contributed by Richard Henderson , 1996. -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 Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 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 + Library General Public License for more details. -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 -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* Copy a null-terminated string from SRC to DST. Return a pointer to the null-terminator in the source. */ @@ -28,8 +27,10 @@ Cambridge, MA 02139, USA. */ ENTRY(strcpy) ldgp gp, 0(pv) #ifdef PROF + .set noat lda AT, _mcount jsr AT, (AT), _mcount + .set at #endif .prologue 1 diff --git a/sysdeps/alpha/strncat.S b/sysdeps/alpha/strncat.S index 089fba34d9..2c39cc0232 100644 --- a/sysdeps/alpha/strncat.S +++ b/sysdeps/alpha/strncat.S @@ -1,22 +1,21 @@ /* Copyright (C) 1996 Free Software Foundation, Inc. - Contributed by Richard Henderson (rth@tamu.edu) + This file is part of the GNU C Library. + Contributed by Richard Henderson , 1996. -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 Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 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 + Library General Public License for more details. -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 -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* Append no more than COUNT characters from the null-terminated string SRC to the null-terminated string DST. Always null-terminate the new DST. */ @@ -28,8 +27,10 @@ Cambridge, MA 02139, USA. */ ENTRY(strncat) ldgp gp, 0(pv) #ifdef PROF + .set noat lda AT, _mcount jsr AT, (AT), _mcount + .set at #endif .prologue 1 diff --git a/sysdeps/alpha/w_sqrt.S b/sysdeps/alpha/w_sqrt.S index b5c980e557..cf5ae097fd 100644 --- a/sysdeps/alpha/w_sqrt.S +++ b/sysdeps/alpha/w_sqrt.S @@ -1,8 +1,7 @@ /* Copyright (C) 1996 Free Software Foundation, Inc. - Contributed by David Mosberger (davidm@cs.arizona.edu). - Based on public-domain C source by Linus Torvalds. - This file is part of the GNU C Library. + Contributed by David Mosberger , 1996. + Based on public-domain C source by Linus Torvalds. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as @@ -15,9 +14,9 @@ Library General Public License for more details. You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If - not, write to the Free Software Foundation, Inc., 675 Mass Ave, - Cambridge, MA 02139, USA. */ + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* This version is much faster than generic sqrt implementation, but it doesn't handle exceptional values or the inexact flag. Don't use @@ -25,6 +24,7 @@ #ifndef _IEEE_FP +#define _ERRNO_H #include #include diff --git a/sysdeps/unix/sysv/linux/alpha/brk.S b/sysdeps/unix/sysv/linux/alpha/brk.S index d31d9e9b4d..3d9f6dca5f 100644 --- a/sysdeps/unix/sysv/linux/alpha/brk.S +++ b/sysdeps/unix/sysv/linux/alpha/brk.S @@ -1,24 +1,25 @@ /* Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc. - Contributed by Brendan Kehoe (brendan@zen.org). + This file is part of the GNU C Library. + Contributed by Brendan Kehoe , 1993. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 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 -Library General Public License for more details. + 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 + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* __brk is a special syscall under Linux since it never returns an -error. Instead, the error condition is indicated by returning the old -break value (instead of the new, requested one). */ + error. Instead, the error condition is indicated by returning the old + break value (instead of the new, requested one). */ #include #define _ERRNO_H @@ -39,8 +40,10 @@ __curbrk: .skip 8 LEAF(__brk, 0) ldgp gp, 0(t12) #ifdef PROF + .set noat lda AT, _mcount jsr AT, (AT), _mcount + .set at #endif .prologue 1 diff --git a/sysdeps/unix/sysv/linux/alpha/clone.S b/sysdeps/unix/sysv/linux/alpha/clone.S index 9dbf3034c9..03ecddc727 100644 --- a/sysdeps/unix/sysv/linux/alpha/clone.S +++ b/sysdeps/unix/sysv/linux/alpha/clone.S @@ -1,20 +1,21 @@ /* Copyright (C) 1996 Free Software Foundation, Inc. - Contributed by Richard Henderson (rth@tamu.edu) + This file is part of the GNU C Library. + Contributed by Richard Henderson , 1996. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 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 -Library General Public License for more details. + 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 + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* clone() is even more special than fork() as it mucks with stacks and invokes a function in the right context after its all over. */ @@ -33,8 +34,10 @@ ENTRY(__clone) stq a4,0(sp) stq a5,8(sp) #ifdef PROF + .set noat lda AT, _mcount jsr AT, (AT), _mcount + .set at #endif .prologue 1 diff --git a/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S b/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S index 1176a2730f..dbc25bcbf3 100644 --- a/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S +++ b/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S @@ -1,20 +1,21 @@ -/* Copyright (C) 1993, 1995 Free Software Foundation, Inc. - Contributed by David Mosberger (davidm@azstarnet.com). +/* Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by David Mosberger , 1995. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 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 -Library General Public License for more details. + 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 + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include @@ -26,8 +27,10 @@ LEAF(__ieee_get_fp_control, 16) #ifdef PROF ldgp gp, 0(pv) lda sp, -16(sp) + .set noat lda AT, _mcount jsr AT, (AT), _mcount + .set at .prologue 1 #else lda sp, -16(sp) diff --git a/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S b/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S index aa761ecaca..8486cfaa3a 100644 --- a/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S +++ b/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S @@ -1,20 +1,21 @@ -/* Copyright (C) 1993, 1995 Free Software Foundation, Inc. - Contributed by David Mosberger (davidm@azstarnet.com). +/* Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by David Mosberger , 1995. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 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 -Library General Public License for more details. + 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 + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include @@ -24,8 +25,10 @@ LEAF(__ieee_set_fp_control, 16) #ifdef PROF ldgp gp, 0(sp) lda sp, -16(sp) + .set noat lda AT, _mcount jsr AT, (AT), _mcount + .set at .prologue 1 #else lda sp, -16(sp) diff --git a/sysdeps/unix/sysv/linux/alpha/llseek.S b/sysdeps/unix/sysv/linux/alpha/llseek.S index 45fb349236..a2e644c161 100644 --- a/sysdeps/unix/sysv/linux/alpha/llseek.S +++ b/sysdeps/unix/sysv/linux/alpha/llseek.S @@ -1,20 +1,21 @@ -/* Copyright (C) 1993, 1995 Free Software Foundation, Inc. - Contributed by David Mosberger (davidm@cs.arizona.edu). +/* Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by David Mosberger , 1995. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 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 -Library General Public License for more details. + 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 + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* For compatibility only: a "long" is 64 bits on the Alpha, so llseek() isn't really needed. But there are some programs out @@ -26,8 +27,10 @@ Cambridge, MA 02139, USA. */ ENTRY(llseek) #ifdef PROF ldgp gp, 0(pv) + .set noat lda AT, _mcount jsr AT, (AT), _mcount + .set at .prologue 1 #else .prologue 0 diff --git a/sysdeps/unix/sysv/linux/alpha/sigsuspend.S b/sysdeps/unix/sysv/linux/alpha/sigsuspend.S index 83d331fef0..f476ed595f 100644 --- a/sysdeps/unix/sysv/linux/alpha/sigsuspend.S +++ b/sysdeps/unix/sysv/linux/alpha/sigsuspend.S @@ -1,20 +1,21 @@ -/* Copyright (C) 1993, 1995 Free Software Foundation, Inc. - Contributed by David Mosberger (davidm@cs.arizona.edu). +/* Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by David Mosberger , 1995. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 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 -Library General Public License for more details. + 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 + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* sigsuspend is a special syscall since it needs to dereference the sigset. */ @@ -23,11 +24,13 @@ Cambridge, MA 02139, USA. */ .text -LEAF(sigsuspend, 0) +LEAF(__sigsuspend, 0) #ifdef PROF ldgp gp, 0(pv) + .set noat lda AT, _mcount jsr AT, (AT), _mcount + .set at .prologue 1 #else .prologue 0 @@ -46,4 +49,6 @@ error: #endif jmp zero, __syscall_error - END(sigsuspend) + END(__sigsuspend) + +weak_alias(__sigsuspend, sigsuspend) diff --git a/sysdeps/unix/sysv/linux/alpha/syscall.S b/sysdeps/unix/sysv/linux/alpha/syscall.S index 81043c2cdb..75e1260aea 100644 --- a/sysdeps/unix/sysv/linux/alpha/syscall.S +++ b/sysdeps/unix/sysv/linux/alpha/syscall.S @@ -1,20 +1,21 @@ /* Copyright (C) 1996 Free Software Foundation, Inc. - Contributed by David Mosberger (davidm@azstarnet.com). + This file is part of the GNU C Library. + Contributed by David Mosberger , 1996. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 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 -Library General Public License for more details. + 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 + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include @@ -44,8 +45,10 @@ Cambridge, MA 02139, USA. */ LEAF(__syscall, 0) #ifdef PROF ldgp gp, 0(pv) + .set noat lda AT, _mcount jsr AT, (AT), _mcount + .set at .prologue 1 #else .prologue 0 @@ -69,4 +72,6 @@ error: #endif jmp zero, __syscall_error +END(__syscall) + weak_alias(__syscall, syscall)