| Commit message (Collapse) | Author | Files | Lines |
|
|
|
not heavily tested, but at least they don't seem to break anything on
soft float targets with or without coprocessors. they check the auxv
AT_HWCAP flags to determine which coprocessor, if any, is available.
|
|
|
|
this allows config.mak to override the default -lgcc for building with
other compilers such as pcc/clang/etc.
|
|
since the correct declaration was not visible, and since the
representation of the types wchar_t and wint_t always match, a
compiler would have to go out of its way to make this bug manifest,
but better to fix it anyway.
|
|
|
|
|
|
the original code was wrongly based on how it would be done in thumb
mode, but that's not needed because musl's asm only targets arm.
|
|
it's expected that this will be needed/useful only in asm, so I've
given it its own symbol that can be addressed in pc-relative ways from
asm rather than adding a field in the __libc structure which would
require hard-coding the offset wherever it's used.
|
|
this seems counter-intuitive since sem_trywait is supposed to just try
once, not wait for the semaphore. however, the retry loop is not a
wait. instead, it's to handle the case where the value changes due to
a simultaneous post or wait from another thread while the semaphore
value remains positive. in such a case, it's absolutely wrong for
sem_trywait to fail with EAGAIN because the semaphore is not busy.
|
|
this is needed in case -lgcc is passed explicitly on the link command
line, for example if the wrapper is being used to build musl itself.
|
|
based on patches by orc and Isaac Dunham, with some fixes. sys/io.h
exists and contains prototypes for these functions regardless of
whether the target arch has them; this is a bit unorthodox but I don't
think it will break anything. the function definitions do not exist
unless the appropriate SYS_* syscall number macro is defined, which
should make sure configure scripts looking for these functions don't
find them on other systems.
presently, sys/io.h does not have the inb/outb/etc. port io
macros/functions. I'd be surprised if ioperm/iopl are useful without
them, so they probably need to be added at some point in appropriate
bits/io.h files...
|
|
based on patches by orc and Isaac Dunham.
|
|
based on patch by orc and Isaac Dunham, with some fixes.
|
|
based on patch by orc and Isaac Dunham, with some details fixed.
|
|
|
|
|
|
|
|
128 is the size in bytes, not longs.
|
|
also fix the alignment of jmp_buf to meet the abi. linux always
emulates fpu on mips if it's not present, so enabling this code
unconditionally is "safe" but may be slow. in the long term it may be
preferable to find a way to disable it on soft float builds.
|
|
untested but should be correct..
|
|
|
|
|
|
not sure this is the best fix but it should work
|
|
|
|
use the main program's PT_INTERP header if possible, since this is
sure to be a correct (and hopefully absolute) pathname.
|
|
sc was overwriting the result
|