diff mbox series

[07/31] tlibio.c: Remove UCLINUX

Message ID 20240411143025.352507-8-pvorel@suse.cz
State New
Headers show
Series Remove UCLINUX (nommu support) from LTP legacy C API | expand

Commit Message

Petr Vorel April 11, 2024, 2:30 p.m. UTC
Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 lib/tlibio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Cyril Hrubis April 11, 2024, 2:59 p.m. UTC | #1
Hi!
> +#ifndef __UCLIBC__

The UCLIBC should be removed as well, since that was libc for uCLinux.

>  #include <aio.h>
>  #endif
>  #endif
> -- 
> 2.43.0
> 
> 
> -- 
> Mailing list info: https://lists.linux.it/listinfo/ltp
Petr Vorel April 11, 2024, 8:46 p.m. UTC | #2
Hi Cyril,

> Hi!
> > +#ifndef __UCLIBC__

> The UCLIBC should be removed as well, since that was libc for uCLinux.

IMHO you are wrong here. IMHO uCLinux-ng [1], still used libc (used in Buildroot
and openembedded). And log in e5e938f4b7 (2009) suggests that it's about libc.
But the question is whether it's still needed. I could try to remove these and
test, but as a separate effort.

We have few of them:

$ git grep -l  __UCLIBC__
include/old/tlibio.h
lib/tlibio.c
testcases/kernel/syscalls/fmtmsg/fmtmsg01.c
utils/benchmark/ebizzy-0.3/ebizzy.h

Kind regards,
Petr

[1] https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/tree/include/features.h#n185
Cyril Hrubis April 12, 2024, 7:36 a.m. UTC | #3
Hi!
> IMHO you are wrong here. IMHO uCLinux-ng [1], still used libc (used in Buildroot
> and openembedded). And log in e5e938f4b7 (2009) suggests that it's about libc.
> But the question is whether it's still needed. I could try to remove these and
> test, but as a separate effort.

You are right, these should be converted into configure checks later on.

And the tlibio should probably be rewritten completely. So let's keep
the patch as it is.
Andrea Cervesato April 12, 2024, 8:32 a.m. UTC | #4
Hi!

On 4/12/24 09:36, Cyril Hrubis wrote:
> Hi!
>> IMHO you are wrong here. IMHO uCLinux-ng [1], still used libc (used in Buildroot
>> and openembedded). And log in e5e938f4b7 (2009) suggests that it's about libc.
>> But the question is whether it's still needed. I could try to remove these and
>> test, but as a separate effort.
> You are right, these should be converted into configure checks later on.
>
> And the tlibio should probably be rewritten completely. So let's keep
> the patch as it is.
>
I started to rewrite part of that library when I was working on 
growfiles test rewrite, but the complexity of it, the amount of nested 
statements and macro directives made me crazy.
Waiting for a better moment to restart rewriting it, but work is on-going.

Andrea
Cyril Hrubis April 12, 2024, 8:57 a.m. UTC | #5
Hi!
> >> IMHO you are wrong here. IMHO uCLinux-ng [1], still used libc (used in Buildroot
> >> and openembedded). And log in e5e938f4b7 (2009) suggests that it's about libc.
> >> But the question is whether it's still needed. I could try to remove these and
> >> test, but as a separate effort.
> > You are right, these should be converted into configure checks later on.
> >
> > And the tlibio should probably be rewritten completely. So let's keep
> > the patch as it is.
> >
> I started to rewrite part of that library when I was working on 
> growfiles test rewrite, but the complexity of it, the amount of nested 
> statements and macro directives made me crazy.
> Waiting for a better moment to restart rewriting it, but work is on-going.

Maybe it would be better to do this in a steps, first remove everything
that is inside the ifdefs for hpux, sgi etc. and only then start working
with the actual code...
Andrea Cervesato April 12, 2024, 9:08 a.m. UTC | #6
Hi!

On 4/12/24 10:57, Cyril Hrubis wrote:
> Hi!
>>>> IMHO you are wrong here. IMHO uCLinux-ng [1], still used libc (used in Buildroot
>>>> and openembedded). And log in e5e938f4b7 (2009) suggests that it's about libc.
>>>> But the question is whether it's still needed. I could try to remove these and
>>>> test, but as a separate effort.
>>> You are right, these should be converted into configure checks later on.
>>>
>>> And the tlibio should probably be rewritten completely. So let's keep
>>> the patch as it is.
>>>
>> I started to rewrite part of that library when I was working on
>> growfiles test rewrite, but the complexity of it, the amount of nested
>> statements and macro directives made me crazy.
>> Waiting for a better moment to restart rewriting it, but work is on-going.
> Maybe it would be better to do this in a steps, first remove everything
> that is inside the ifdefs for hpux, sgi etc. and only then start working
> with the actual code...
>
Well that's the easiest part. growfiles has a really huge amount of bad 
code, it's the biggest in the whole LTP suite and (unfortunately) it's a 
really important one.
It will take a bit...probably it will be incremental.

Andrea
diff mbox series

Patch

diff --git a/lib/tlibio.c b/lib/tlibio.c
index bfb4ea023..ed82a85b4 100644
--- a/lib/tlibio.c
+++ b/lib/tlibio.c
@@ -108,7 +108,7 @@ 
 #include <string.h>
 #endif
 #if defined(__linux__) || defined(__sun) || defined(__hpux) || defined(_AIX)
-#if !defined(UCLINUX) && !defined(__UCLIBC__)
+#ifndef __UCLIBC__
 #include <aio.h>
 #endif
 #endif