about summary refs log tree commit diff
path: root/src/multibyte/internal.h
Commit message (Collapse)AuthorAgeFilesLines
* cleanup and work around visibility bug in gcc 3 that affects x86_64Rich Felker2012-02-231-5/+3
| | | | | | | | | | | | | | in gcc 3, the visibility attribute must be placed on both the declaration and on the definition. if it's omitted from the definition, the compiler fails to emit the ".hidden" directive in the assembly, and the linker will either generate textrels (if supported, such as on i386) or refuse to link (on targets where certain types of textrels are forbidden or impossible without further assumptions about memory layout, such as on x86_64). this patch also unifies the decision about when to use visibility into libc.h and makes the visibility in the utf-8 state machine tables based on libc.h rather than a duplicate test.
* cleanup utf-8 multibyte code, use visibility if possibleRich Felker2011-02-271-41/+4
| | | | | | | | | | | | | this code was written independently of musl, with support for a the backwards, nonstandard "31-bit unicode" some libraries/apps might want. unfortunately the extra code (inside #ifdef) makes the source harder to read and makes code that should be simple look complex, so i'm removing it. anyone who wants to use the old code can find it in the history or from elsewhere. also, change the visibility of the __fsmu8 state machine table to hidden, if supported. this should improve performance slightly in shared-library builds.
* cleanup multibyte stuff to remove ugly casts, sanitize the ptr align castsRich Felker2011-02-131-4/+4
|
* initial check-in, version 0.5.0 v0.5.0Rich Felker2011-02-121-0/+61