This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Andreas Jaeger <aj@suse.de> writes: |> I got on MIPS the following warning: |> memprof.c:146: warning: implicit declaration of function `GETSP' |> |> We should check if we really have a definition for GETSP. I'm |> appending a patch. The macro does not belong here, it should be moved to a sysdep header. Andreas. 2000-02-02 Andreas Schwab <schwab@suse.de> * malloc/Makefile (distribute): Add memprof.h * malloc/memprof.c: Move definition of GETSP and GETTIME to new header memprof.h. * sysdeps/generic/memprof.h: New file. * sysdeps/alpha/memprof.h: New file. * sysdeps/i386/memprof.h: New file. * sysdeps/m68k/memprof.h: New file. * sysdeps/mips/memprof.h: New file. * sysdeps/powerpc/memprof.h: New file. * sysdeps/sparc/memprof.h: New file. Index: malloc/Makefile =================================================================== RCS file: /cvs/glibc/libc/malloc/Makefile,v retrieving revision 1.21 diff -u -a -u -r1.21 malloc/Makefile --- malloc/Makefile 1999/10/05 05:31:11 1.21 +++ malloc/Makefile 2000/02/02 09:56:09 @@ -27,7 +27,7 @@ headers := $(dist-headers) obstack.h mcheck.h tests := mallocbug tst-malloc -distribute = thread-m.h mtrace.pl mcheck-init.c stackinfo.h +distribute = thread-m.h mtrace.pl mcheck-init.c stackinfo.h memprof.h # Things which get pasted together into gmalloc.c. gmalloc-routines := malloc morecore Index: malloc/memprof.c =================================================================== RCS file: /cvs/glibc/libc/malloc/memprof.c,v retrieving revision 1.2 diff -u -a -u -r1.2 malloc/memprof.c --- malloc/memprof.c 1999/10/12 00:19:09 1.2 +++ malloc/memprof.c 2000/02/02 09:55:06 @@ -28,6 +28,8 @@ #include <unistd.h> #include <sys/time.h> +#include <memprof.h> + /* Pointer to the real functions. These are determined used `dlsym' when really needed. */ static void *(*mallocp) (size_t); @@ -73,34 +75,6 @@ #define peak_heap peak_use[0] #define peak_stack peak_use[1] #define peak_total peak_use[2] - -#ifdef __i386__ -# define GETSP() ({ register uintptr_t stack_ptr asm ("esp"); stack_ptr; }) -#endif -#ifdef __alpha__ -# define GETSP() ({ register uintptr_t stack_ptr asm ("$30"); stack_ptr; }) -#endif -#ifdef __sparc__ -# define GETSP() ({ register uintptr_t stack_ptr asm ("%sp"); stack_ptr; }) -#endif -#ifdef __powerpc__ -# define GETSP() ({ register uintptr_t stack_ptr asm ("%r1"); stack_ptr; }) -#endif - -#ifdef __i386__ -# define GETTIME(low,high) asm ("rdtsc" : "=a" (low), "=d" (high)) -#endif -#ifndef GETTIME -# define GETTIME(low,high) \ - { \ - struct timeval tval; \ - uint64_t usecs; \ - gettimeofday (&tval, NULL); \ - usecs = (uint64_t) tval.tv_usec + (uint64_t) tval.tv_usec * 1000000; \ - low = usecs & 0xffffffff; \ - high = usecs >> 32; \ - } -#endif #define DEFAULT_BUFFER_SIZE 1024 static size_t buffer_size; --- /dev/null Tue Jan 18 16:58:34 2000 +++ sysdeps/alpha/memprof.h Wed Feb 2 10:52:05 2000 @@ -0,0 +1,21 @@ +/* Copyright (C) 2000 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 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., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#define GETSP() ({ register uintptr_t stack_ptr asm ("$30"); stack_ptr; }) + +#include <sysdeps/generic/memprof.h> --- /dev/null Tue Jan 18 16:58:34 2000 +++ sysdeps/generic/memprof.h Wed Feb 2 10:56:39 2000 @@ -0,0 +1,35 @@ +/* Copyright (C) 2000 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 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., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + + +#ifndef GETSP +# warning "GETSP is not defined for this architecture." +# define GETSP 0 +#endif + +#ifndef GETTIME +# define GETTIME(low,high) \ + { \ + struct timeval tval; \ + uint64_t usecs; \ + gettimeofday (&tval, NULL); \ + usecs = (uint64_t) tval.tv_usec + (uint64_t) tval.tv_usec * 1000000; \ + low = usecs & 0xffffffff; \ + high = usecs >> 32; \ + } +#endif --- /dev/null Tue Jan 18 16:58:34 2000 +++ sysdeps/i386/memprof.h Wed Feb 2 10:50:58 2000 @@ -0,0 +1,22 @@ +/* Copyright (C) 2000 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 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., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#define GETSP() ({ register uintptr_t stack_ptr asm ("esp"); stack_ptr; }) +#define GETTIME(low,high) asm ("rdtsc" : "=a" (low), "=d" (high)) + +#include <sysdeps/generic/memprof.h> --- /dev/null Tue Jan 18 16:58:34 2000 +++ sysdeps/m68k/memprof.h Wed Feb 2 10:51:44 2000 @@ -0,0 +1,22 @@ +/* Copyright (C) 2000 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 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., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + + +#define GETSP() ({ register uintptr_t stack_ptr asm ("%sp"); stack_ptr; }) + +#include <sysdeps/generic/memprof.h> --- /dev/null Tue Jan 18 16:58:34 2000 +++ sysdeps/mips/memprof.h Wed Feb 2 10:53:29 2000 @@ -0,0 +1,21 @@ +/* Copyright (C) 2000 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 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., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#define GETSP() ({ register uintptr_t stack_ptr asm ("$29"); stack_ptr; }) + +#include <sysdeps/generic/memprof.h> --- /dev/null Tue Jan 18 16:58:34 2000 +++ sysdeps/powerpc/memprof.h Wed Feb 2 10:53:03 2000 @@ -0,0 +1,21 @@ +/* Copyright (C) 2000 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 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., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#define GETSP() ({ register uintptr_t stack_ptr asm ("%r1"); stack_ptr; }) + +#include <sysdeps/generic/memprof.h> --- /dev/null Tue Jan 18 16:58:34 2000 +++ sysdeps/sparc/memprof.h Wed Feb 2 10:52:32 2000 @@ -0,0 +1,21 @@ +/* Copyright (C) 2000 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 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., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#define GETSP() ({ register uintptr_t stack_ptr asm ("%sp"); stack_ptr; }) + +#include <sysdeps/generic/memprof.h> -- Andreas Schwab "And now for something SuSE Labs completely different." schwab@suse.de SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |