On 6 February 2013 17:20, Markos Chandras <[email protected]> wrote:

>>>>>> Looks pretty good, thanks. One thing though:
>>>>>>
>>>>>> I really don't like common-no-legacy.
>>>>>> Can you propose a different way instread?

>>>>> How about:
>>>>>
>>>>> - common-new
>>>>> - new-interfaces
>>>>
>>>> generic
>>>> generic-syscalls
>>>>
>>>> generic wouldn't be entirely self-explanatory but would be short. ;-)
>>>
>>> I'd prefer generic-syscalls. 'generic' seems similar to 'common' so it
>>> might be a bit confusing. Bernhard, are you ok with
>>> "generic-syscalls"?
>>
>> I was thinking more in the direction of not adding that directory in
>> the first place.
>> If you look at
>> for i in $(find libc/sysdeps/linux/common-no-legacy/ -type f);do
>> i=$(basename $i);diff -duNp
>> libc/sysdeps/linux/common{,-no-legacy}/bits/$i;done  | less
>> then perhaps we can use the dirent stuff everywhere, the stat.h parts
>> look dangerous (hope that nobody does interpret those long long as DI
>> mode).
>> Perhaps it is less ugly to just ifdef those few new hunks?
>>
>> Short of that (sorry did not look closely yet, perhaps you do that
>> already anyway), i'd go for common-newsyscalls and put that include
>> before the common for the arches that were switched already.
>>
>> Other ideas?
>> Comments?
>
> Well personally I believe that mixing old and new structures with
> #if/defs is a bit messy and it will be hard to spot what fields belong
> to the struct for a particular architecture. I think that keeping new

well you're right.

> architectures separate from the existing ones, is a)more safe (as in,
> you don't risk breaking existing code accidentally ), b) easier to add
> or modify new interfaces (as more new architectures are added to
> uClibc, it may be necessary to add new shared headers in the new
> common-newsyscalls directory) in the future and c) easier to deprecate
> the common/ directory if existing architectures ever migrate to
> generic syscalls.

Perhaps Will's suggestion of "generic-syscalls" is fine since the
kernel calls them generic, too.
common-generic overdoes it a bit, i guess, but it does produce a nice
tab-completion conflict with common.
So please rename it to common-generic and also add a hunk to
libc/sysdeps/linux/README to briefly explain what common-generic is.

Reading through the series..

I'd prefer if you could not put braces around the parameter of defined, e.g.:
+#if defined(__NR_fstat64) && !defined(__NR_fstat)
+#if defined __NR_fstat64 && !defined __NR_fstat
everywhere in those patches.

In ftruncate.c, we nowadays have a couple of OFF helpers in
include/endian.h (IIRC), perhaps you can use those?

/Check if valids fd and valid pointers/s/valids fd/valid fds/

on x86_64 with no threads:
libc/sysdeps/linux/common/fork.c:12:0: error: unterminated #if
sounds like a leftover from a merge-conflict. There is no need for
that __libc_fork for !threads
missing indenting space before define in
+#elif defined(__NR_fork)
+#define __NR___libc_fork __NR_fork

In statfs.c there is also a missing indenting space in the nested #if,
please add those, everywhere.
Also indent the existing ones if you add a surrounding preprocessor
conditional, please.
In the same file you duplicate the extern __typeof, please use just
one before the conditionals.

The __NR_ustat stub is only necessary if defined UCLIBC_SV4_DEPRECATED

utime.c only needs fcntl.h and stddef.h for the at path, please move it there.
utimes.c Likewise. Why do you need utime.h in there at all?
_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to