Commit graph

95 commits

Author SHA1 Message Date
ensc
0e0e2afde7 fixed post-increment issue on ppc* F-9-split F-9-start dietlibc-0_31-4_20080409_fc9
die when AT_PAGESZ entry is empty
2008-04-19 17:14:18 +00:00
ensc
cb07023084 added changelog entry 2008-04-19 16:26:41 +00:00
ensc
a977bf906b moved calculation of __elfinto into start.S; user could do e.g. '*environ =
NULL' which breaks the current deferred calculation in
    __libc_getpagesize()
do not return a predefined PAGE_SIZE when __elfinfo code fails
2008-04-19 16:25:25 +00:00
ensc
a63829de79 - removed debug stuff from specfile dietlibc-0_31-3_20080409_fc9
- updated patches to work with new isinf() behavior of gcc 4.3
2008-04-13 22:57:58 +00:00
ensc
3b7df88197 - fixed tests using isinf(); the math.c test checks the dietlibc
implementation of isinf() (which differs between positive and negative
    inf). All other tests use boolean retval only and test for the signess
    of the values
2008-04-13 22:55:07 +00:00
ensc
881b9971c9 - do not test for signess of isinf(3); C99 guarantees values of 0 and not 0
and does not differ between positive and negative inf. 'isinf(3)' is a
    builtin in gcc 4.3 and previous check won't work anymore. Instead of,
    test whether value is lesser or greater than zero.
- renabled the INF testsuite
2008-04-13 22:52:24 +00:00
ensc
d23740c869 added other INFINITY testcases dietlibc-0_31-2_20080409_fc9 2008-04-13 21:55:08 +00:00
ensc
005894e400 disabled -inf testcases for now 2008-04-13 21:54:21 +00:00
ensc
538991a0f9 use a better definition for INFINITY whitespace cleanup 2008-04-13 21:39:16 +00:00
ensc
318d905e03 added -noreturn patch deactivated some debug code 2008-04-13 21:24:13 +00:00
ensc
1a844ca210 fixed a lot of borken printf(3) format specifiers 2008-04-13 21:23:19 +00:00
ensc
585d8348ae fixed a printf() statement 2008-04-13 21:22:31 +00:00
ensc
63100c2fd3 fixed other issues preventing an -Werror-implicit-function-declaration
build
2008-04-13 21:21:56 +00:00
ensc
2148489018 SUSv2 says about abort(3):
The abort() function shall not return.
Hence, add an __attribute__((__noreturn__))
2008-04-13 21:20:45 +00:00
ensc
d49ea1924d added -implicitfunc patch 2008-04-13 20:38:13 +00:00
ensc
c8fe5dc928 added a missing '#include <math.h>' 2008-04-13 20:37:13 +00:00
ensc
66676e2784 define and use a custom __diet_elf_addr_t datatype instead of elf_addr_t
which disappeared in linux 2.6.25
2008-04-13 20:36:32 +00:00
ensc
401d33c3b0 declares an implicitly used function 2008-04-13 20:35:27 +00:00
ensc
722e943974 more debugging... 2008-04-13 18:22:34 +00:00
ensc
667117c38e added sanity check to detect broken headers at compile time 2008-04-13 18:21:22 +00:00
ensc
066ee97d8d further debugging... 2008-04-13 17:31:51 +00:00
ensc
c6571b4fba added 'gethostbyname' to list of bogus checks 2008-04-13 17:10:42 +00:00
ensc
4dc3f7fcbb added debugging code for PPC 2008-04-13 17:09:37 +00:00
ensc
0cd7732adf lib/alloc.c: return value of__ind_shift() depends on PAGE_SIZE 2008-04-13 17:09:02 +00:00
ensc
de70f517d9 - added patch for dynamic PAGE_SIZE support
- fixed/enhanced testsuite and removed the '|| :' in %%check
- improved/fixed floating point support *printf(3)
2008-04-13 14:18:39 +00:00
ensc
1fee7d679b - whitespace cleanups
- use gnu-style
- added __pure attribute to __get_elf_aux_value()
2008-04-13 14:14:48 +00:00
ensc
25b8a8926a registered test which are known to be broken resp. which test for features
known to be broken.
2008-04-13 14:02:33 +00:00
ensc
bc919cc87e This patch fixes/enhances the testsuite:
I removed the checks which called endmntent() multiple times resp. with a
    NULL pointer. Behavior in first case is undefined and latter causes a
    segfault (I could not find documentation that this is allowed). Hence,
    it does not make sense to test this.
test 'malloc(0)' only, when WANT_MALLOC_ZERO is set
the '%Zu' printf format specifier is bogus (from libc5 ages). I replaced it
    with the '%zu' one.
Please note, that this test still fails because it uses glibc specific
    features.
removed tests which set a non-C locale. Broken usage of 'strptime()' result
    was fixed too. This test should succeed now.
this test was added while working on the '%F/%G' patch and verifies the
    isinf() + isnan() functions.
Please see
http://cvs.fedora.redhat.com/viewcvs/rpms/dietlibc/devel/runtests-X.sh?root
    =extras&view=markup
for tests which are known to be broken.
2008-04-13 14:01:03 +00:00
ensc
7c0cc8d835 The tst-fseek testsuite is bogus on 64 bit platforms because the
*stat64 functions/structures are not available there. This patch defines
    '_FILE_OFFSET_BITS 64' and uses the plain *stat instead of.
2008-04-13 13:48:16 +00:00
ensc
657cb3c746 This patch changes the used format for %x and %X specifiers in strptime(3)
to match these specified by SUSv2. It adds support for '%F' in
    strftime(3) too.
2008-04-13 13:45:58 +00:00
ensc
ddfc4b59ef This patch adds support for uppercase 'F' and 'G' printf format specifiers.
It fixes handling of -INF values in __dtostr() too; previously, there
    was
| unsigned int i; | if ((i=isinf(d))) return
    copystring(buf,maxlen,i>0?"inf":"-inf"); ~~~ which evaluated to true
    everytime. The copystring() function worked for 3-letter words only but
    not for '-inf'.
The last argument of __dtostr() was changed from a boolean flag to a
    bitmask. Bit 0 encodes 'g' or 'f', and bit 1 lower-/uppercase. There
    should be probably added some macros for them; for now, these values
    are used directly.
Please note that this might affect other applications (liblowfat?) too
    which are using __dtostr().
2008-04-13 13:43:05 +00:00
ensc
4927ab8208 This patch adds support for dynamic PAGE_SIZE values to 'dietlibc'. It is a
little bit invasive in several aspects:
it modifies the startup code. We need to know the position of the elf-info
    auxilary table which is located after 'environ'. We can not use
    'environ' directly because it might be modified by the application.
Hence, an additional __elfinfo variable is placed into .bss and filled in
    the startup code. Depending on platform, this adds 1-3 instructions and
    an additional pointer to .bss.
I tested only the i386 and x86_64 modifications; it would be nice when
    people with corresponding hardware would test the other ones. I am
    especially uncertain regarding the parisc changes.
The elf-info stuff (which might be interesting e.g. for dynamic linking or
    sysconf(_SC_CLK_TCK)) can be enabled without the dynamic pagesize too.
it removes the 'PAGE_SIZE' macro from <sys/shm.h>; this will break
    compilation of existing userspace application which are using this
    deprecated macro
I added a new internal 'dietpagesize.h' header which defines
| __DIET_PAGE_SIZE | __DIET_PAGE_SHIFT
macros. These return either builtin constants (when WANT_DYN_PAGESIZE is
    not selected), or values derived from __libc_getpagesize().
Every usage of PAGE_SIZE in dietlibc code was replaced by these macros.
due to the previous point, the internal 'struct __dirstream' was modified.
    I replaced
| getdents64(d->fd,(struct dirent64*)d->buf, sizeof (d->buf)-1);
with
| getdents64(d->fd,(struct dirent64*)d->buf, __DIRSTREAM_BUF_SIZE-1);
literally but I am not sure where the '-1' is coming from. There is one
    hunk, where this '-1' is missing so I think the '-1' should be removed
    from all calls to getdents64().
changes affect the *alloc() functions too; on x86_64 around 64 bytes where
    added to .text of alloc.o
the new testprogramm requires a 'getconf' binary which returns the correct
    values for PAGE_SIZE and CLK_TCK
2008-04-13 13:20:03 +00:00
ensc
88839ec3c7 removed as now in upstream 2008-04-12 09:09:47 +00:00
ensc
5465f6e346 updated to CVS snapshot 20080409 dietlibc-0_31-1_20080409_fc9 2008-04-12 09:04:48 +00:00
ensc
06eb0c7bcf fixed CFLAGS for check dietlibc-0_31-1_20080221_fc9 2008-02-22 17:59:12 +00:00
ensc
0b285b4227 fixed optimized memcpy(3) 2008-02-22 17:57:57 +00:00
ensc
2953d403af - updated to CVS snapshot 20080221; removed most of the last patches as
they are now in upstream
- moved files into platform neutral /usr/lib dir (not using %%_lib or
    %%_libdir macro)
- added -devel subpackage due to multiarch issues; main package contains
    only the 'diet' binary plus some tools while -devel holds all the
    header and object files.
2008-02-22 16:29:14 +00:00
ensc
443db2fb7c - updated to CVS snapshot 20080221; removed most of the last patches as
they are now in upstream
2008-02-22 16:27:57 +00:00
ensc
a030bf001f ok; was hard work, but it should build now... dietlibc-0_31-1_20080212_fc9 2008-02-14 22:15:07 +00:00
ensc
6d8978bea8 further fixes 2008-02-14 22:06:18 +00:00
ensc
f64111dd32 fixed big-endian problems in strcpy + strcmp 2008-02-14 21:51:41 +00:00
ensc
9c4dfc9262 added ulong patch 2008-02-14 20:39:31 +00:00
ensc
a263bc0007 avoid compiler warnings 2008-02-14 20:32:56 +00:00
ensc
102859dd8c further strlen fixes... 2008-02-14 20:29:33 +00:00
ensc
7e5d7168b5 fixed strlen patch 2008-02-14 19:03:48 +00:00
ensc
0136367ad4 added strlen patch; build testsuite with -fno-builtin 2008-02-14 16:31:20 +00:00
ensc
691bf7b3f0 BR gdb 2008-02-14 12:10:24 +00:00
ensc
0f8aeab54b further hacks... 2008-02-14 11:49:42 +00:00
ensc
6aa347dbde further tests... 2008-02-13 21:26:45 +00:00
ensc
fea4a802d0 added temporary code to trace down ppc problems 2008-02-13 21:11:20 +00:00