Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130613154625.GA23252@newbook>
Date: Thu, 13 Jun 2013 08:46:25 -0700
From: Isaac <idunham@...abit.com>
To: musl@...ts.openwall.com
Subject: Re: Thinking about release

On Wed, Jun 12, 2013 at 09:25:17PM -0400, Rich Felker wrote:
> Hi all,
> 
> It's been mentioned that we're overdue for a release, and it looks
> like we have a fair amount of new stuff since the last release. Major
> changes so far:
> 
> - Accepting \n in dynamic linker path file
> - Fixed broken x86_64 sigsetjmp
> - Removed wrong C++ __STDC_*_MACROS checks
> - Thread exit synchronization issues
> - Conforming overflow behavior in clock()
> - Support for large device numbers
> - Math optimizations on i386
> - C11 float.h macro additions
> - Fixes for exceptions in fma (gcc bug workarounds)
> - Fix misaligned stack when running ctors/dtors
> - Support for %m modifier in scanf
> - Support for using gcc intrinsic headers with musl-gcc wrapper
> - PRNG fixes
> - Per-process and per-thread cputime clocks and new(ish) Linux clocks
> 
> I think the ether.h functions could definitely still make it in for
> this release too. inet_makeaddr, etc. could probably also be merged.

ether.h is needed for a full build of busybox:
$ grep -r ether_aton_r */                                  
networking/udhcp/files.c:       if (!mac_string || !ether_aton_r(mac_string, &mac_bytes))
networking/ether-wake.c:        eap = ether_aton_r(hostid, eaddr);
networking/nameif.c:                    ch->mac = ether_aton_r(selector + (strncmp(selector, "mac=", 4) != 0 ? 0 : 4), lmac);
$ grep -r ether_ntoa */                                    
networking/ether-wake.c:                bb_debug_msg("The target station address is %s\n\n", ether_ntoa(eap));
networking/ether-wake.c:                bb_debug_msg("Station address for hostname %s is %s\n\n", hostid, ether_ntoa(eaddr));
networking/zcip.c:                                      ether_ntoa(sha),
networking/zcip.c:                                      ether_ntoa(tha),
networking/arping.c:                    ether_ntoa((struct ether_addr *) p));
networking/arping.c:                            ether_ntoa((struct ether_addr *) p + ah->ar_hln + 4));

Most of these aren't universally needed, but I wanted to enable some of them.
Right now, I'm using Strake's patch and compiling musl with -Os.

Of course, these aren't going to be enough to make busybox allyesconfig 
work right; I also ran into the following issues building busybox:
-<sys/personality.h> needs the macros from <linux/personality.h>
(for setarch) 
-A few cases of using extra headers that break the busybox build:
<net/if_slip.h> can be changed to <linux/if_slip.h>
<net/if_packet.h> is included (needlessly for musl) in 
networking/libiproute/iplink.c;
this header is roughly the macros from <sys/socket.h> + struct sockaddr_pkt
<netinet/ether.h> is used in arp and zcip

-CONFIG_COMPAT_EXTRA turns on use of glibc regex.h extensions in grep.
-Of course, vi still uses glibc regexes if you enable search and replace.

> Rich

HTH,
Isaac Dunham

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.