From f62c8abcfbf0d2e7f0a6c6c1dde53158e6fc4e59 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 2 Nov 2012 18:43:27 -0700 Subject: Compile x86 rtld with -mno-sse -mno-mmx --- stdlib/Makefile | 2 +- stdlib/bits/stdlib-float.h | 31 +++++++++++++++++++++++++++++++ stdlib/stdlib.h | 6 +----- 3 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 stdlib/bits/stdlib-float.h (limited to 'stdlib') diff --git a/stdlib/Makefile b/stdlib/Makefile index 57830a8..5e99d7f 100644 --- a/stdlib/Makefile +++ b/stdlib/Makefile @@ -20,7 +20,7 @@ # subdir := stdlib -headers := stdlib.h bits/stdlib.h bits/stdlib-ldbl.h \ +headers := stdlib.h bits/stdlib.h bits/stdlib-ldbl.h bits/stdlib-float.h \ monetary.h bits/monetary-ldbl.h \ inttypes.h stdint.h bits/wordsize.h \ errno.h sys/errno.h bits/errno.h \ diff --git a/stdlib/bits/stdlib-float.h b/stdlib/bits/stdlib-float.h new file mode 100644 index 0000000..46f3a32 --- /dev/null +++ b/stdlib/bits/stdlib-float.h @@ -0,0 +1,31 @@ +/* Floating-point inline functions for stdlib.h. + Copyright (C) 2012 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 + . */ + +#ifndef _STDLIB_H +# error "Never use directly; include instead." +#endif + +#ifdef __USE_EXTERN_INLINES +__BEGIN_NAMESPACE_STD +__extern_inline double +__NTH (atof (const char *__nptr)) +{ + return strtod (__nptr, (char **) NULL); +} +__END_NAMESPACE_STD +#endif /* Optimizing and Inlining. */ diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h index cf3f39c..0eb982c 100644 --- a/stdlib/stdlib.h +++ b/stdlib/stdlib.h @@ -274,11 +274,6 @@ extern long double strtold_l (const char *__restrict __nptr, #ifdef __USE_EXTERN_INLINES __BEGIN_NAMESPACE_STD -__extern_inline double -__NTH (atof (const char *__nptr)) -{ - return strtod (__nptr, (char **) NULL); -} __extern_inline int __NTH (atoi (const char *__nptr)) { @@ -953,6 +948,7 @@ extern int getloadavg (double __loadavg[], int __nelem) __THROW __nonnull ((1)); #endif +#include /* Define some macros helping to catch buffer overflows. */ #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function -- cgit v1.1