Age | Commit message (Collapse) | Author |
|
It is deemed too unsafe. Quoting Timo:
If I'm building with "-fPIC -pg" it instruments all C functions with
profiler stuff which is called via PLT and causes EBX reloads
--> crash
-fno-omit-frame-pointer is sometimes useful for profiling too
--> crash
Also the upcoming -fsplit-stack will be broken by this too (that might
need additional uclibc support though).
And I'm pretty sure there's also other similar compiler features.
There's no predefined #defines in gcc for any of these.
What I'm trying to say that there are *numerous* situations when the
compiler can create stack frame for you without you ever knowing it. And
if you want to do a tail jump, you really should be doing it from .S
file where you control fully the prologue/epilogue code. (GCC naked
attribute does not seem to work on x86.)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Thanks, Timo!
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
break it
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
These two failures are fixed:
Failure: Test: ilogb (0.0) == FP_ILOGB0 plus exceptions allowed
Failure: Test: ilogb (NaN) == FP_ILOGBNAN plus exceptions allowed
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
These failures no longer happen:
Failure: Test: scalb (2.0, 0.5) == NaN plus invalid exception
Failure: Test: scalb (3.0, -2.5) == NaN plus invalid exception
Failure: Test: rint (0.5) == 0.0
Failure: Test: rint (1.5) == 2.0
Failure: Test: rint (2.5) == 2.0
Failure: Test: rint (3.5) == 4.0
Failure: Test: rint (4.5) == 4.0
Failure: Test: rint (-0.5) == -0.0
Failure: Test: rint (-1.5) == -2.0
Failure: Test: rint (-2.5) == -2.0
Failure: Test: rint (-3.5) == -4.0
Failure: Test: rint (-4.5) == -4.0
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Fixed failures:
Failure: Test: pow (1, NaN) == 1
Failure: Test: pow (1, inf) == 1
Failure: Test: pow (-1, inf) == 1
Failure: Test: pow (1, -inf) == 1
Failure: Test: pow (-1, -inf) == 1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
This error is gone:
Failure: Test: modf (NaN, &x) == NaN
Result:
is: -0.00000000000000000000e+00 -0
should be: nan nan
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
GCC can emit prologue/epilogue code for the functions in various
different cases:
- frame pointers
- PIC build (to load ebx for indirect calls/jumps)
- forced stack smashing protection
If we used jump in such cases, we'd corrupt the call stack and
crash.
Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Obvious typo.
Signed-off-by: Roman I Khimov <khimov@altell.ru>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
add testcase from
http://sourceware.org/bugzilla/show_bug.cgi?id=4407
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Fixes signgam checks in math tests on x86_64. It's R_X86_64_COPY for program,
so the program didn't see any changes from libm.
Signed-off-by: Roman I Khimov <khimov@altell.ru>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Since sublevel releases are not ABI compatible we need to adjust
the soname to include the sublevel version.
This makes it possible to install ABI incompatible versions of the
library side by side so clean upgrades are possible.
Signed-off-by: Natanael Copa <natanael.copa@gmail.com>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Aurelien Jacobs <aurel@gnuage.org>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
to avoid shadow warnings
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
to avoid shadow warnings
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
This reverts commit 73d6e5c41b61633e22ea74e3aa2df721512dca57.
barking up the wrong tree
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
alias l to their normal double counterparts.
Works around problems with libgcc blindly calling __finitel on e.g. ppc32
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
This fixes compilation errors on hosts that turn off long double support
for C99 like powerpc32.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Handle O=
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
elf.h needs __BYTE_ORDER, and s_scalbn.c needs {LONG,INT}_MAX.
shm.c complains about no prototypes for shm_{open,unlink} without its header.
Signed-off-by: Ron Lee <ron@debian.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
so that it is easier to modify, sort, etc;
use __ in filenames of wrappers which wrap __functions
(it may be useful to have function and file names ALWAYS match);
remove names of not implemented wrappers (it was generating useless
empty .o files).
libm/ldouble_wrappers.c: comment out the wrapper which is
not compiled anyway
test/math/compile_test.c: improve this test, it was optimizing out some calls,
and we don't want that.
No actual code changes.
|
|
*: fix everything which prevents above from building
|
|
libm/s_nextafterf.c: use /* */ comments
|
|
|
|
|
|
update example
libc/sysdeps/linux/i386/bits/mathinline.h:
improve __finite() macro, add __finitef macro
(why they aren't always macros? why aren't they arch independent?)
libm/math_private.h:
much better comments on math_opt_barrier() and math_force_eval()
libm/s_finite[f].c:
improve out-of-line __finite[f]() too (one byte less, yay...)
|
|
float_wrappers.c: add xxxWRAPPER1(func) macros. no code changes,
but makes this file much shorter.
text data bss dec hex filename
- 42504 188 4 42696 a6c8 lib/libm-0.9.30-svn.so
+ 42488 188 4 42680 a6b8 lib/libm-0.9.30-svn.so
|
|
-83 ec 10 sub $0x10,%esp
-db 6c 24 14 fldt 0x14(%esp)
-dd 5c 24 08 fstpl 0x8(%esp)
-dd 44 24 08 fldl 0x8(%esp)
-dd 1c 24 fstpl (%esp)
-e8 fc ff ff ff call __GI_trunc
-83 c4 10 add $0x10,%esp
+db 6c 24 04 fldt 0x4(%esp)
+dd 5c 24 04 fstpl 0x4(%esp)
+e9 fc ff ff ff jmp __GI_trunc
c3 ret
text data bss dec hex filename
- 42749 176 4 42929 a7b1 lib/libm-0.9.30-svn.so
+ 42085 176 4 42265 a519 lib/libm-0.9.30-svn.so
|
|
remove wrong casts to long double of long return values.
remove lots of empty lines.
|
|
|
|
|
|
|
|
This makes in possible to enable test/math
(not it compiles, but has lots of test failures).
|
|
test/Rules.mak: don't pass target options to host build
test/math/basic-test.c: fix test build error
patching file test/unistd/errno.c: fix test build warning
|
|
|
|
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
and moved under a better folder.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|
|
libm/s_ldexp.c: add TODO
|
|
as a main one, not "int" one (scalbn).
|