aboutsummaryrefslogtreecommitdiff
path: root/include/stdalign.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-03-20update INSTALL file with new information and better adviceRich Felker1-109/+114
the text covering an ill-advised procedure for 'bootstrapping' a new musl-based system in-place is removed. new information on targets and compilers is added. formatting improved. the remaining text is adjusted to cover both usage with musl-gcc on a non-musl-based system and upgrading a musl-based system or toolchain.
2014-03-20update COPYRIGHT file with additional contributor informationRich Felker1-19/+51
2014-03-19configure: check for __ILP32__ if arch is x86_64rofl0r1-0/+4
otherwise a multilib compiler used with -mx32 will not be detected properly.
2014-03-18fix signal.h breakage from moving stack_t to arch-specific bitsRich Felker9-48/+50
in the previous changes, I missed the fact that both the prototype of the sigaltstack function and the definition of ucontext_t depend on stack_t.
2014-03-18fix mips stack_tRich Felker1-1/+1
like almost everything on mips, this is gratuitously different.
2014-03-18move signal.h definition of stack_t to arch-specific bitsRich Felker9-6/+48
it's different at least on mips. mips version will be fixed in a separate commit to show the change.
2014-03-18fix mips sigsetjmp asm to match fixed jmp_buf sizeRich Felker1-1/+1
this was missed in the previous commit.
2014-03-18fix typo in filename used in sh portRich Felker1-0/+0
2014-03-18fix size of mips jmp_bufRich Felker1-1/+1
the excess space was unused and unintentional. this change does not affect the ABI between applications and libc. while it does theoretically affect linkage between third-party translation units using jmp_buf as part of a structure, we've already changed jmp_buf at least once on all archs, and problems were never observed, likely because such usage would be very unusual. in any case it's best to get things right now rather than making changes sometime during the 1.0.x series or later.
2014-03-18remove useless and incorrect uc_regspace member from mips ucontext_tRich Felker1-1/+0
this seems to have been copied erroneously from the arm version of the file. it's fairly harmless but it's a mistake and better to fix now than later.
2014-03-18use syscall_arg_t for arguments in public syscall() functionRich Felker1-7/+7
on x32, this change allows programs which use syscall() with pointers or 64-bit values as arguments to work correctly, i.e. without truncation or incorrect sign extension. on all other supported archs, syscall_arg_t is defined as long, so this change is a no-op.
2014-03-17make configure accept alternate gcc tuples for x32Rich Felker1-1/+1
the previous pattern required "x32" to be used as the second field of the gcc tuple, which is usually reserved for vendor use and not appropriate as an ABI specifier. with this change, putting "x32" at the end of the tuple, the way ABI specifiers are normally done, is also permitted.
2014-03-17x32: fix struct statfsrofl0r1-2/+4
the omission of the padding was uncovered by the latest regression statvfs regression test added to libc-test.
2014-03-17fix negated error codes from ptsname_rRich Felker1-1/+1
the incorrect error codes also made their way into errno when __ptsname_r was called by plain ptsname, which reports errors via errno rather than a return value.
2014-03-16superh: fix dynamic linking of __fpscr_valuesBobby Bingham2-1/+7
Applications ended up with copy relocations for this array, which resulted in libc's references to this array pointing to the application's copy. The dynamic linker, however, can require this array before the application is relocated, and therefore before the application's copy of this array is initialized. This resulted in garbage being loaded into FPSCR before executing main, which violated the ABI. We fix this by putting the array in crt1 and making the libc copy private. This prevents libc's reference to the array from pointing to an uninitialized copy in the application.
2014-03-13semctl: fix UB causing crashes on powerpcrofl0r1-4/+8
it's UB to fetch variadic args when none are passed, and this caused real crashes on ppc due to its calling convention, which defines that for variadic functions aggregate types be passed as pointers. the assignment caused that pointer to get dereferenced, resulting in a crash.
2014-03-12fix statfs struct on mipsSzabolcs Nagy1-3/+4
The mips statfs struct layout is different than on other archs, so the statfs, fstatfs, statvfs and fstatvfs APIs were broken on mips. Now the ordering is fixed, the types are kept consistent with other archs.
2014-03-12fix semid_ds structure on mipsSzabolcs Nagy1-2/+0
This used to be broken when all archs had the same semid_ds definition: there is no padding around the time_t members on mips.
2014-03-11fix socket.h struct msghdr member types on powerpcRich Felker1-4/+4
these were incorrectly copied from the kernel, whose ABI matches the POSIX requirements but with the wrong underlying types and wrong signedness.
2014-03-11fix sysvipc structures on powerpcRich Felker4-20/+16
these have been wrong for a long time and were never detected or corrected. powerpc needs some gratuitous extra padding/reserved slots in ipc_perm, big-endian ordering for the padding of time_t slots that was intended by the kernel folks to allow a transition to 64-bit time_t, and some minor gratuitous reordering of struct members.
2014-03-11move struct semid_ds to from shared sys/sem.h to bitsRich Felker9-16/+129
the definition was found to be incorrect at least for powerpc, and fixing this cleanly requires making the definition arch-specific. this will allow cleaning up the definition for other archs to make it more specific, and reversing some of the ugliness (time_t hacks) introduced with the x32 port. this first commit simply copies the existing definition to each arch without any changes. this is intentional, to make it easier to review changes made on a per-arch basis.
2014-03-09math.h: make __FLOAT_BITS and __DOUBLE_BITS C89Szabolcs Nagy1-2/+4
Remove non-constant aggregate initializer. (Still using long long, but that is supported by ancient compilers without __extension__ anyway).
2014-03-09fix incorrect rounding in printf floating point corner casesRich Felker1-2/+2
the printf floating point formatting code contains an optimization to avoid computing digits that will be thrown away by rounding at the specified (or default) precision. while it was correctly retaining all places up to the last decimal place to be printed, it was not retaining enough precision to see the next nonzero decimal place in all cases. this could cause incorrect rounding down in round-to-even (default) rounding mode, for example, when printing 0.5+DBL_EPSILON with "%.0f". in the fix, LDBL_MANT_DIG/3 is a lazy (non-sharp) upper bound on the number of zeros between any two nonzero decimal digits.
2014-03-09fix buffer overflow in printf formatting of denormals with low bit setRich Felker1-1/+2
empirically the overflow was an off-by-one, and it did not seem to be overwriting meaningful data. rather than simply increasing the buffer size by one, however, I have attempted to make the size obviously correct in terms of bounds on the number of iterations for the loops that fill the buffer. this still results in no more than a negligible size increase of the buffer on the stack (6-7 32-bit slots) and is a "safer" fix unless/until somebody wants to do the proof that a smaller buffer would suffice.
2014-03-08in sys/procfs.h, avoid using __WORDSIZE macroRich Felker1-1/+1
this was problematic because several archs don't define __WORDSIZE. we could add it, but I would rather phase this macro out in the long term. in our version of the headers, UINTPTR_MAX is available here, so just use it instead.