- 26 11月, 2012 1 次提交
-
-
由 Rich Felker 提交于
-
- 24 11月, 2012 7 次提交
-
-
由 Rich Felker 提交于
aside from microblaze, these should be roughly correct for all archs now. some misc junk macros and typedefs are missing, which should probably be added for max compatibility with trace/debug tools.
-
由 Rich Felker 提交于
it should now really match the kernel. some of the removed padding corresponded to the difference between user and kernel sigset_t. the space at the end was redundant with the uc_mcontext member and seems to have been added as a result of misunderstanding glibc's definition versus the kernel's.
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
with these changes, the members/types of mcontext_t and related stuff should closely match the glibc definitions. unlike glibc, however, the definitions here avoid using typedefs as much as possible and work directly with the underlying types, to minimize namespace pollution from signal.h in the default (_BSD_SOURCE) profile. this is a first step in improving compatibility with applications which poke at context/register information -- mainly debuggers, trace utilities, etc. additional definitions in ucontext.h and other headers may be needed later. if feature test macros are used to request a conforming namespace, mcontext_t is replaced with an opaque structure of the equivalent size and alignment; conforming programs cannot examine its contents anyway.
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
these fields were wrongly copied from the kernel's ppc64 struct def
-
- 22 11月, 2012 6 次提交
-
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
unlike the previous definition, NSIG/_NSIG is supposed to be one more than the highest signal number. adding this will allow simplifying libc-internal code that makes signal-related syscalls, which can be done as a later step. some apps might use it too; while this usage is questionable, it's at least not insane.
-
由 Rich Felker 提交于
also handle the non-GNUC case where alignment attribute is not available by simply omitting it. this will not cause problems except for inclusion of mcontex_t/ucontext_t in application-defined structures, since the natural alignment of the uc_mcontext member relative to the start of ucontext_t is already correct. and shame on whoever designed this for making it impossible to satisfy the ABI requirements without GNUC extensions.
-
由 Rich Felker 提交于
-
- 21 11月, 2012 1 次提交
-
-
由 rofl0r 提交于
-
- 19 11月, 2012 4 次提交
-
-
由 Rich Felker 提交于
apparently some other archs have sys/io.h and should not break just because they don't have the x86 port io functions. provide a blank bits/io.h everywhere for now.
-
由 Rich Felker 提交于
based on proposal by Isaac Dunham. nonexistance of bits/io.h will cause inclusion of sys/io.h to produce an error on archs that are not supposed to have it. this is probably the desired behavior, but the error message may be a bit unusual.
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
based on code sent to the mailing list by nsz, with minor changes.
-
- 18 11月, 2012 2 次提交
- 17 11月, 2012 1 次提交
-
-
由 Rich Felker 提交于
incomplete but at least partly working. requires all files to be compiled in the new "secure" plt model, not the old one that put plt code in the data segment. TLS is untested but may work. invoking the dynamic linker explicitly to load a program does not yet handle argv correctly.
-
- 16 11月, 2012 4 次提交
-
-
由 Rich Felker 提交于
-
由 rofl0r 提交于
-
由 Rich Felker 提交于
although a number is reserved for it, this option is not implemented on Linux and does not work. defining it causes some applications to use it, and subsequently break due to its failure.
-
由 Rich Felker 提交于
-
- 15 11月, 2012 3 次提交
-
-
由 Rich Felker 提交于
previous version did not compare at all; it was just a fancy atomic write. untested. further atomic fixes may be needed.
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
-
- 14 11月, 2012 2 次提交
-
-
由 rofl0r 提交于
-
由 Richard Pennington 提交于
-
- 06 11月, 2012 1 次提交
-
-
由 Rich Felker 提交于
-
- 20 10月, 2012 1 次提交
-
-
由 Rich Felker 提交于
-
- 19 10月, 2012 3 次提交
-
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
these macros are supported by more compilers
-
由 Rich Felker 提交于
-
- 16 10月, 2012 2 次提交
-
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
despite documentation that makes it sound a lot different, the only ABI-constraint difference between TLS variants II and I seems to be that variant II stores the initial TLS segment immediately below the thread pointer (i.e. the thread pointer points to the end of it) and variant I stores the initial TLS segment above the thread pointer, requiring the thread descriptor to be stored below. the actual value stored in the thread pointer register also tends to have per-arch random offsets applied to it for silly micro-optimization purposes. with these changes applied, TLS should be basically working on all supported archs except microblaze. I'm still working on getting the necessary information and a working toolchain that can build TLS binaries for microblaze, but in theory, static-linked programs with TLS and dynamic-linked programs where only the main executable uses TLS should already work on microblaze. alignment constraints have not yet been heavily tested, so it's possible that this code does not always align TLS segments correctly on archs that need TLS variant I.
-
- 14 10月, 2012 1 次提交
-
-
由 Rich Felker 提交于
this is actually a rather subtle issue: do arrays decay to pointers when used as inline asm args? gcc says yes, but currently pcc says no. hopefully this discrepency in pcc will be fixed, but since the behavior is not clearly defined anywhere I can find, I'm using an explicit operation to cause the decay to occur.
-
- 12 10月, 2012 1 次提交
-
-
由 Rich Felker 提交于
this doubles the performance of the fastest syscalls on the atom I tested it on; improvement is reportedly much more dramatic on worst-case cpus. cannot be used for cancellable syscalls.
-