Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
45 user(s) are online (27 user(s) are browsing Forums)

Members: 0
Guests: 45

more...

Headlines

 
  Register To Post
(1) 2 »

Why aos4util_newlib? (And upcoming Clib2 changes vs Newlib)
Just popping in
Just popping in


See User information
Hello.

Why does AmiCygnix use the library: aos4util_newlib? Are these just functions that are in addition to those provided by the newlib library for AOS4? Are the C-standard functions that are not yet implemented in the raw AOS4 newlib?


Edited by rjd324 on 2022/3/12 19:12:23
Reason: Make title more relevant to thread
Go to top
Re: Why aos4util_newlib?
Quite a regular
Quite a regular


See User information
@rjd324

This library contains functions not avaialble in newlib.library, but also replaces functions, that are not compatible enough to Unix. Additionally there are some dummy functions like fork() and some utility functions especially for AmiCygnix.

For example the opendir() function cannot open the root directory "/" but the aos4util_newlib version can.

Currently I've revised and bugfixed the library completely and will be part of the next update 1.7.


Edited by cygnusEd on 2022/3/11 22:52:36
X-5000 PPC 5020/2 GHZ, Fractal Define XL R2-Tower, OS 4.1 final update 2, 4 GB, Radeon HD 7770, ESI Juli@ XTe
SAM 460ex/1,15 GHZ, OS 4.1 final, 2 GB, Radeon HD 6450
Amiga 4000D/040 25 Mhz, OS 3.9 BB2, 272 MB, X-Surf, 250 MB ZIP
Go to top
Re: Why aos4util_newlib?
Just popping in
Just popping in


See User information
@cygusEd

Thanks for your great work. I am in the process of porting something to AmiCygnix but there seems not be an implementation for setitimer/getitimer resulting in an undefined reference. Will I have to hack-workaround this?

Go to top
Re: Why aos4util_newlib?
Quite a regular
Quite a regular


See User information
@rjd324

Great to hear, that you're working on an AmiCygnix app . What's the name of it?

The setitimer () function is not included. It would be very tricky to implement. So you have to make a workaround.

I wish there would be a more up to date AmiCygnix SDK. Many things have changed since 1.0.

X-5000 PPC 5020/2 GHZ, Fractal Define XL R2-Tower, OS 4.1 final update 2, 4 GB, Radeon HD 7770, ESI Juli@ XTe
SAM 460ex/1,15 GHZ, OS 4.1 final, 2 GB, Radeon HD 6450
Amiga 4000D/040 25 Mhz, OS 3.9 BB2, 272 MB, X-Surf, 250 MB ZIP
Go to top
Re: Why aos4util_newlib?
Just popping in
Just popping in


See User information
It's JASSPA MicroEmacs that stopped development in a about 2009. Uses X11.

I am so disappointed that a recent version of emacs has not been posted over to Amiga.

Stock Memacs is missing too many basic functions to make it usable.

I Emacs as my IDE every single day of my life at work. For me, it is a way of life and I need it if I am to do any serious contributions to Amiga. It's the first thing I need.

Emacs v19/20 on Aminet was ported for 68k and crashes on AOS4 with petunia. I think there is some specific code in there assuming we are using a classic amiga regarding memory.

Let me know if there is a good version of emacs/memacs. Regardless, porting this is a good first task for me.

I will never use the editor of the beast, Vi Vi Vi. And, despite the good work of recent editors for AOS4, emacs is a way of life for some.

Go to top
Re: Why aos4util_newlib?
Site Builder
Site Builder


See User information
@rjd324
I am interested to see how this will work, and thank you for working on that.

With AmigaOS 4 under utilities there is a version of MicroEmacs v2.1, but I do not use it a lot and I do not know if it has all the features you are looking for. I guess you already have seen it, right?

Go to top
Re: Why aos4util_newlib?
Just popping in
Just popping in


See User information
@walkero

It's the version I use today and I am not sure it has been upgraded since AmigaOS2. It is missing too many features to be useful.

The first attempt is it get it working on AmiCygnix and then, perhaps, to consider hacking it to use intuition directly rather than going through AmiCygnix.

Go to top
Re: Why aos4util_newlib?
Amigans Defender
Amigans Defender


See User information
In a few week (i hope..) I'll release a new clib2 version with TONS of changes and a lot of new functions and improvements over the classic clib2. I'm testing everything against linux to see that everything is working correctly. I've added shared objects, wchar, 64bit, locale, a new math library with an included test suite and fenv, some network functions was missing and a lot of other stuff. Hope it will be easy to port stuff from linux. I'm plan also to create a clib2.library but this will come later

Go to top
Re: Why aos4util_newlib?
Site Builder
Site Builder


See User information
@rjd324
Yeah, that sounds like a good plan. Go for it. I would like to try this out when it is ready.

I find really crucial to have even more development tools in OS4 so that when someone wants to develop natively, will have what they need.

@afxgroup
That's really awesome news. Do you plan to merge these changes with the clib2 github repo there is right now? Or are you going to keep it separated?

Thank you guys for the work you are doing.

Go to top
Re: Why aos4util_newlib?
Amigans Defender
Amigans Defender


See User information
Totally separated. This version is OS4 only and doesn't have any OS3 code anymore

Go to top
Re: Why aos4util_newlib?
Home away from home
Home away from home


See User information
@walkero
Btw, once agxgroup is done, we will need to use his clib2 instead of the "old" one for SDK. For that we only need to SDK to download his version instead of old one and that all. That the only way we will have progress with opensource C lib, as "old" one are too much hold in the past.

Because refering on newlib as default and "be only" stop us from progress, as this is closed from all of us, but thise kind of things should't be closed.

I already tested current betas of Afxgroup's clib2, and that for sure support much more things than newlib, errors free, have a lot of stuff as he says, and even sobjs and co supported.

But firstly we need to test it till death of course, and then add to SDK, but at least "big" things already works/compiles with what Andrea already have.

Go to top
Re: Why aos4util_newlib?
Amigans Defender
Amigans Defender


See User information
And of course any bug/pull request can be easily done by anyone

Go to top
Re: Why aos4util_newlib?
Just popping in
Just popping in


See User information
For some reason I was under the impression that for AmiCygnix I must link with newlib (default). Or, can I link with clib2 instead? I guess so... just keep all my compiler flags but use -mcrt=clib2 ?

Go to top
Re: Why aos4util_newlib?
Home away from home
Home away from home


See User information
@afxgroup

Hell, yeah

Do you mind sharing a little how-to make former newlib builds use clib2?
Is it as easy as using -mcrt=clib2 somewhere in the linker line?

I'd love to grind clib2 with a full ScummVM build once it's available, provide feedback and see how it behaves.

Thanks a lot

Go to top
Re: Why aos4util_newlib?
Home away from home
Home away from home


See User information
@Raziel
For clib2 we will need to build pretty lot of 3d party libs (as some of them for now only in newlib form, because original clib2 year by year outdated and devs start to made just newlib based pots).

So for example SDL1/2, GL4ES, SDL libs, mikmod and stuff - all of them need to be also ported to clib2 too. But that pretty easy in general, and basically Andrea already did it all (so he have and SDLs for clib2, and GL4ES, and even more).

In other words we need to wait once Andrea will be ready with release it all to public , and we can start doing some tasty stuff.

And btw, Andrea forget to note, but in some cases his clib2 is _MUCH_ faster than newlib. At least in those test linux-specific cases we test (sometime speed is 2/3 times faster).

Go to top
Re: Why aos4util_newlib?
Quite a regular
Quite a regular


See User information
@rjd324

Quote:
For some reason I was under the impression that for AmiCygnix I must link with newlib (default). Or, can I link with clib2 instead? I guess so... just keep all my compiler flags but use -mcrt=clib2 ?


As the name of the lib says ("aos4util_newlib"), you only can use the AmiCygnix libs with newlib.

X-5000 PPC 5020/2 GHZ, Fractal Define XL R2-Tower, OS 4.1 final update 2, 4 GB, Radeon HD 7770, ESI Juli@ XTe
SAM 460ex/1,15 GHZ, OS 4.1 final, 2 GB, Radeon HD 6450
Amiga 4000D/040 25 Mhz, OS 3.9 BB2, 272 MB, X-Surf, 250 MB ZIP
Go to top
Re: Why aos4util_newlib?
Home away from home
Home away from home


See User information
First, sorry for deranging this thread, i feel bad

@kas1e

That is cool news.

I was about to ask for benefits, but since you mentioned speed...what speed?
Compilation speed or speed of the built programs?

We should also activate @MickJT for the clib2 add-on libraries...he's done quite some updating to the newlib ones.

Go to top
Re: Why aos4util_newlib?
Amigans Defender
Amigans Defender


See User information
Yes. You will be use -mcrt=clib2 as usual and -use-dynld if you want to use shared objects. Nothing different than we do with newlib

Go to top
Re: Why aos4util_newlib?
Home away from home
Home away from home


See User information
@afxgroup

Thank you....now i can't wait to stress-test it

Go to top
Re: Why aos4util_newlib?
Amigans Defender
Amigans Defender


See User information
This is a test between math lib in clib2 and newlib

CLIB2:
pow : 2.1998 MPS
hypot : 1.3695 MPS
exp : 8.5517 MPS
log : 8.5863 MPS
log10 : 6.3762 MPS
sin : 240941.1765 MPS
cos : 208979.5918 MPS
tan : 146285.7143 MPS
asin : 2.2063 MPS
acos : 2.2421 MPS
atan : 187889.9083 MPS
atan2 : 4.8603 MPS

NEWLIB:
pow : 1.4380 MPS
hypot : 0.8486 MPS
exp : 2.3812 MPS
log : 2.3558 MPS
log10 : 2.0536 MPS
sin : 47627.9070 MPS
cos : 46022.4719 MPS
tan : 42489.6266 MPS
asin : 1.3092 MPS
acos : 1.3018 MPS
atan : 45410.1996 MPS
atan2 : 1.4361 MPS

Don't know if you spot the difference. however also the actual clib2 should be a lot faster than newlib..

Go to top

  Register To Post
(1) 2 »

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2016 The XOOPS Project