svn commit: trunk/uClibc/libc/unistd

Bernd Schmidt bernds_cb1 at
Thu Jun 5 17:40:44 UTC 2008

vda at wrote:
> Author: vda
> Date: 2008-05-20 13:32:27 -0700 (Tue, 20 May 2008)
> New Revision: 22027
> Log:
> getopt: do not needlessly use static structure.
> Reorder structure members and change some of them into smallints
> to reduce bss and text:
>     text    data    bss   dec     hex filename
> -   2403    12       40   2455    997 libc/unistd/getopt.o
> +   2252    12        0   2264    8d8 libc/unistd/getopt.o
> Modified:
>    trunk/uClibc/libc/unistd/getopt.c
>    trunk/uClibc/libc/unistd/getopt_int.h

So, after about a day of bisecting and rebuilding stuff I've found that 
this is the patch that stops my Blackfin board from booting normally 
when using an updated version of uClibc.

This patch shows a complete lack of understanding of the getopt 
interface (note: getopt is called several times in a row, so we can't 
clear the internal data on each call).  Reading the code at the start of 
_getopt_internal_r should have made that plain.  The patch also can't 
possibly have been tested.  I'm reverting it.

This footer brought to you by insane German lawmakers.
Analog Devices GmbH      Wilhelm-Wagenfeld-Str. 6      80807 Muenchen
Sitz der Gesellschaft Muenchen, Registergericht Muenchen HRB 40368
Geschaeftsfuehrer Thomas Wessel, William A. Martin, Margaret Seif

More information about the uClibc mailing list