Florian, All,

On Wednesday 09 January 2013 Florian Fainelli wrote:
> This patch serie contains the recently posted user context support for ARM,
> i386 and x86_64 which were recently posted by Timon and Natanael.
> 
> I also needed these routines on MIPS, so I decided to consolidate all of this
> such that it addresses comments made to previous patches, as well as ease the
> integration of Carmelo's SH4 patches [1] in the future.
> 
> [1]:
> http://git.stlinux.com/?p=stm/uclibc.git;a=commitdiff;h=5bc8059626bea83f157017ba6ed14faea0158089;hp=ac72fa4e2953be3da2b2a904c84d9ebbece3bfb4
> 
> Changes since v1:
> - addressed comments from Bernhard
> 
> Florian Fainelli (9):
> 1  Rules.mak: define a global PTHREAD_GENERATE_MANGLE variable
> 2  libc: add rule to generate ucontext_i.{c,h,s} files and clean them
> 3  Config.in: add ARCH_HAS_UCONTEXT configuration symbol
> 4  libc: add {get,set,swap,make}context to MIPS
> 5  libc: add {get,set,swap,make}context to ARM
> 6  libc: add support for {get,set,swap,make}context to i386
> 7  libc: add support for {get,set,swap,make}context to x86_64
> 8  include/ucontext.h: provide declarations for
>      {get,set,make,swap}context
> 9  uClibc: introduce UCLIBC_HAS_CONTEXT_FUNCS configuration symbol

(I've numbered the csets above, for easy reference)

I think csets 3 and 9 should be folded into cset 2. They are basically
about the same thing: adding build infrastructure to build the ucontext
stuff. It does not make sense to split this infra in three patches.

With the current ordering, the code added in 4..8 is not reachable, because
it depends on a non-existing symbol. It does not make sense to add code that
can not be built.

With the ordering I suggest, the code added by each of cset 4..8 is
reachable as soon as it gets introduced. And the code is still conditional.

Then, I would move cset 8 just before the archistecture additions. There's
no point in buildign functions that programs can't use. That cset could also
be folded into cset 2, too.

So, either:
 1  Rules.mak: define a global PTHREAD_GENERATE_MANGLE variable
 2  libc: add infrastructure for {get,set,swap,make}context
 3  libc: add {get,set,swap,make}context to MIPS
 4  libc: add {get,set,swap,make}context to ARM
 5  libc: add support for {get,set,swap,make}context to i386
 6  libc: add support for {get,set,swap,make}context to x86_64
 7  include/ucontext.h: provide declarations for
      {get,set,make,swap}context

Or:
 1  Rules.mak: define a global PTHREAD_GENERATE_MANGLE variable
 2  libc: add infrastructure for {get,set,swap,make}context
 3  libc: add {get,set,swap,make}context to MIPS
 4  libc: add {get,set,swap,make}context to ARM
 5  libc: add support for {get,set,swap,make}context to i386
 6  libc: add support for {get,set,swap,make}context to x86_64

I'll do test-builds shortly. Can't do run-tests, I don't have anything
that uses ucontext... :-/

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
uClibc mailing list
uClibc@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to