Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150502224818.GA22532@brightrain.aerifal.cx>
Date: Sat, 2 May 2015 18:48:18 -0400
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: Potential cleanup work post-1.1.9

Just some ideas to jot down somewhere public:

- Changing pthread_cancel signal handler to use mcontext_t members by
  name (with the name provided by pthread_arch.h) instead of offset
  macros and a fake overlaid array.

- Re-unifying x86_64 and x32 sigsetjmp.s by moving both saved values
  to after the signal mask.

- Providing inline atomics instead of runtime-switched for sh4a.

- Cleaning out cruft from struct __pthread, possibly condensing
  multiple locks, packing small/boolean values into chars or
  bitfields, etc.

- Evaluating whether it still makes sense to have struct __libc, or
  all the members in it.

- Eliminating float code in malloc on soft-float archs.

- Deduplicating atomic.h emulations of a_* in terms of a_cas, so that
  archs where everything is emulated in terms of a_cas can just define
  a_cas (much like how syscall.h and syscall_arch.h work now).

- Default atomics implementation for new archs to use (at least
  initially) based on __sync_* builtins.

- Bits deduplication.

- Possibly eliminating preference of globals over TLS, at least when
  it uglifies/enlarges/complexifies the code, for example use of
  libc.threads_minus_1 to determine whether to skip locks and
  libc.uselocale_cnt (instead of __pthread_self()->locale) in the
  CURRENT_LOCALE macro.

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.