Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
24 user(s) are online (15 user(s) are browsing Forums)

Members: 2
Guests: 22

emeck, amigait, more...

Support us!

Headlines

 
  Register To Post  

« 1 ... 19 20 21 (22)
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@Elwood

i knew about this try, but it never produced any binaries/usable files and is stuck in 2013

even if they were successfull back then it would be outdated by now

Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@devs

i know there is this stack cookie thing, but is it really needed?

i seems kinda outdated, at least how i understand it

one gives the stack cookie the program can use *if* the environment provides not enough stack size, i.e. WB or shell

but its still limited to the size i give in the cookie?
unless i change the stack size in its icon or in the shell?

why?

why not simply enhance the stack where needed?
the OS should be capable of providing on-the-fly stack enhancement, shouldnt it?

or is the stack a "closed" memory area reserved just for the app that demands/needs it?

and is the stack memory locked for the app while it runs?

what if i gave a 2 GB stack cookie to a single app...would the system freeze?
or would no other programs be able to register any more memory (which would in turn lead to a crash or freeze the system sooner or later, i think...?) heh

or would the memory only be used if it really would be needed and otherwise be free to any other app?
if that is true, then why not simply set the stack size for every program to the available amount of memory system-wide?

Go to top
Re: Porting to AmigaOS4 thread
Just can't stay away
Just can't stay away


See User information
@Raziel
Quote:
why not simply enhance the stack where needed?
the OS should be capable of providing on-the-fly stack enhancement, shouldnt it?
The C compiler (at least GCC, not sure about VBCC) has an option to increase the stack size automatically when required, but AmigaOS 4.x doesn't support that and will crash if the stack size is too small.
The "stack cookie" is only one of the options, there is the shell stack size or the Workbench Icon stack size as well, and the largest one of all options will be used, but if all of them are too small for a given program it will crash on AmigaOS 4.x.
The stack can't be swapped out by the pager, if you'd use 2 GB stack any program will crash immediately because of the 2 GB limit of a single, ancient Exec(SG) function. Using 1 GB may work for most software, but you'll only have the other 1 GB available for anything else.

Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@Raziel

if stack is:

02 VAR1
04 VAR2
06 VAR4

you pass a ref to 04, and then replace the stack,
as then something can't access 04 anymore, so you have crash.

if swap out stack and use different stack.
but do not free the old one, you coninue on:

4000 VAR5
4004 VAR6

if you resotre the stack before exiting your function.

(NutsAboutAmiga)

Basilisk II for AmigaOS4
AmigaInputAnywhere
Excalibur
and other tools and apps.
Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@joerg

thank you very much for the answer, that's what i figured

Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@LiveForIt

that went far over my head

Go to top
Re: Porting to AmigaOS4 thread
Just can't stay away
Just can't stay away


See User information
@LiveForIt
AmigaOS doesn't have any problems with fragmented stacks, even porting Rust to AmigaOS, the programming language used for example by the current FireFox versions, would be much less of a problem than for example porting the Linux version was to BSD Unixes.
AmigaOS always supporting stack swapping, for example the ancient IExec->StackSwap() and newer replacement functions in Exec(SG).

Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@joerg

to conclude that, it wasn't the stack, but a problem in-code resp. a missing feature
https://github.com/sba1/adtools/issues/159
(wrong tracker, i know, please point to the correct tracker, thank you)

Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@all

I'm too dumb to give up, so i'm testing my *skills* (lol) on another porting project, but i hit a wall (as guessed) with a pretty standard header file.

disclaimer:
i'm on cross-compiler since cmake is mandatory for the project and native cmake is hopelessly outdated and broken...so...

The file in question has
#include <cmath>

in it's header flock, but produces errors on compiling

there is also another file called "Math.cpp" within the source files...could that be interfering?

I read here, that it could be the cause, but i don't understand why

/usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmathAt global scope:
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1071:11error'acoshl' has not been declared in '::'
 
1071 |   using ::acoshl;
      |           ^~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1075:11error'asinhl' has not been declared in '::'
 
1075 |   using ::asinhl;
      |           ^~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1079:11error'atanhl' has not been declared in '::'
 
1079 |   using ::atanhl;
      |           ^~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1083:11error'cbrtl' has not been declared in '::'
 
1083 |   using ::cbrtl;
      |           ^~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1087:11error'copysignl' has not been declared in '::'
 
1087 |   using ::copysignl;
      |           ^~~~~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1091:11error'erfl' has not been declared in '::'
 
1091 |   using ::erfl;
      |           ^~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1095:11error'erfcl' has not been declared in '::'
 
1095 |   using ::erfcl;
      |           ^~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1099:11error'exp2l' has not been declared in '::'
 
1099 |   using ::exp2l;
      |           ^~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1103:11error'expm1l' has not been declared in '::'
 
1103 |   using ::expm1l;
      |           ^~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1107:11error'fdiml' has not been declared in '::'
 
1107 |   using ::fdiml;
      |           ^~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1111:11error'fmal' has not been declared in '::'
 
1111 |   using ::fmal;
      |           ^~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1115:11error'fmaxl' has not been declared in '::'
 
1115 |   using ::fmaxl;
      |           ^~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1119:11error'fminl' has not been declared in '::'
 
1119 |   using ::fminl;
      |           ^~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1127:11error'ilogbl' has not been declared in '::'
 
1127 |   using ::ilogbl;
      |           ^~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1131:11error'lgammal' has not been declared in '::'
 
1131 |   using ::lgammal;
      |           ^~~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1136:11error'llrintl' has not been declared in '::'
 
1136 |   using ::llrintl;
      |           ^~~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1140:11error'llroundl' has not been declared in '::'
 
1140 |   using ::llroundl;
      |           ^~~~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1145:11error'log1pl' has not been declared in '::'
 
1145 |   using ::log1pl;
      |           ^~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1149:11error'log2l' has not been declared in '::'
 
1149 |   using ::log2l;
      |           ^~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1153:11error'logbl' has not been declared in '::'
 
1153 |   using ::logbl;
      |           ^~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1157:11error'lrintl' has not been declared in '::'
 
1157 |   using ::lrintl;
      |           ^~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1161:11error'lroundl' has not been declared in '::'
 
1161 |   using ::lroundl;
      |           ^~~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1165:11error'nanl' has not been declared in '::'
 
1165 |   using ::nanl;
      |           ^~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1169:11error'nearbyintl' has not been declared in '::'
 
1169 |   using ::nearbyintl;
      |           ^~~~~~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1173:11error'nextafterl' has not been declared in '::'
 
1173 |   using ::nextafterl;
      |           ^~~~~~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1175:11error'nexttoward' has not been declared in '::'
 
1175 |   using ::nexttoward;
      |           ^~~~~~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1176:11error'nexttowardf' has not been declared in '::'
 
1176 |   using ::nexttowardf;
      |           ^~~~~~~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1177:11error'nexttowardl' has not been declared in '::'
 
1177 |   using ::nexttowardl;
      |           ^~~~~~~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1181:11error'remainderl' has not been declared in '::'
 
1181 |   using ::remainderl;
      |           ^~~~~~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1185:11error'remquol' has not been declared in '::'
 
1185 |   using ::remquol;
      |           ^~~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1189:11error'rintl' has not been declared in '::'
 
1189 |   using ::rintl;
      |           ^~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1193:11error'roundl' has not been declared in '::'
 
1193 |   using ::roundl;
      |           ^~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1197:11error'scalblnl' has not been declared in '::'
 
1197 |   using ::scalblnl;
      |           ^~~~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1201:11error'scalbnl' has not been declared in '::'
 
1201 |   using ::scalbnl;
      |           ^~~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1205:11error'tgammal' has not been declared in '::'
 
1205 |   using ::tgammal;
      |           ^~~~~~~
/
usr/local/amiga/ppc-amigaos/include/c++/11.3.0/cmath:1209:11error'truncl' has not been declared in '::'
 
1209 |   using ::truncl;
      |           ^~~~~~


any idea other than renaming that Math.cpp file?

Thank you very much

Go to top
Re: Porting to AmigaOS4 thread
Amigans Defender
Amigans Defender


See User information
because adtools was broken.. We have fixed it in the branch but an update was never released. So the only way is to recompile it

i'm really tired...
Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@afxgroup

may i ask to what post you're referring to?

Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@all

as it seems newlib doesnt have
std::memcmp

any way to work around it?

Go to top
Re: Porting to AmigaOS4 thread
Quite a regular
Quite a regular


See User information
Can you report an issue with a small reproducible at https://github.com/AmigaLabs/adtools/issues.

I thought newlib did have that. But I cannot remember. If it does, you can just call the newlib one ?

If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@rjd324

i can point you to the project i was trying to port (small)
https://files.musepack.net/source/musepack_src_r475.tar.gz

just start
sh ./configure

and let it run until it hits memcmp

the configure script probably needs some (heavy?) editing still, i just wanted to see how far it will go w/o changing anything

Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@all

gcc: fatal error: '-pipe' not supported

any way around it?


edit:

gcc -v
Using built-in specs.
COLLECT_GCC=/Development/Coding/SDK/gcc/bin/gcc
COLLECT_LTO_WRAPPER=/Development/Coding/SDK/gcc/bin/../libexec/gcc/ppc-amigaos/11.3.0/lto-wrapper
Target: ppc-amigaos
Configured with: /home/stix/kod/adtools/gcc/repo/configure --with-bugurl=https://github.com/sba1/adtools/issues --with-pkgversion='adtools build 11.3.0' --host=ppc-amigaos --target=ppc-amigaos --disable-nls --prefix=/gcc --with-gmp=/home/stix/kod/adtools/native-build/root-cross --with-mpfr=/home/stix/kod/adtools/native-build/root-cross --with-mpc=/home/stix/kod/adtools/native-build/root-cross --enable-languages=c,c++ --enable-haifa --enable-sjlj-exceptions --disable-libstdcxx-pch --disable-tls --enable-threads=amigaos --enable-lto --disable-c++tools
Thread model: amigaos
Supported LTO compression algorithms: zlib
gcc version 11.3.0 (adtools build 11.3.0)


guess it`s not built in?


Edited by Raziel on 2024/10/3 14:14:40
Go to top

  Register To Post
« 1 ... 19 20 21 (22)

 




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




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project