flat assembler
Message board for the users of flat assembler.
Index
> Compiler Internals > [query] Memory requirements |
Author |
|
Chewy509 08 Jun 2007, 02:43
I was just wandering how fasm allocates the default memory pool when assembly a file.
The b0 compiler source, has now grown to about 750KB+ in size, and am finding that depending on the target platform and OS that is building the compiler, fasm reports out of memory... eg. FreeBSD/AMD64 (fasm is the libc version, linked to the local 32bit libc), 2GB RAM, out of memory error on all builds. Windows XP x64, 2GB RAM, all builds are fine. Windows XP SP2, 1GB RAM, libc-version builds fine, native compilers (eg Win64, FreeBSD, Linux) get an out of memory error. I've tried playing with the -m option, and that fails. (Sometimes allocates less than specified, but know that's because of how fasm does the initial pool allocation, with the 1/2 rule on an allocation fail). I'm using fasm 1.67.21 on all platforms. Source files which I'm attempting to assemble are attached. Can someone shed some light on what's happening and why? PS. B0 can build itself as libc-linked, Linux native, Windowsx64 native or FreeBSD native. 99% of the code is shared between all the builds, and there are at most 4 passes to assemble the final object file.
|
|||||||||||
08 Jun 2007, 02:43 |
|
Octavio 08 Jun 2007, 08:06
perhaps it would be a good idea that fasm outputs the line number also for fatal errors, i modified a litle the fasm sources to output info like in a non fatal error to find where the problem was.
|
|||
08 Jun 2007, 08:06 |
|
Chewy509 12 Jun 2007, 00:05
Octavio wrote:
Yep, the current b0 compiler has a little bloat? However just because the app wants to allocation 512MB+ in the bss at startup, is the apps problem... However why would fasm crap out with such requests? Does fasm actually allocate those structures in memory, even though they are virtual in nature? I can understand if the 'rb' are within the 'data' section (since fasm would allocate the actual space in memory before writing to file), but in the case of the ELF/ELFO generated files, they are within the 'bss' section? (Yep, I do need to fix up the PE/DLL formats). PS. I am looking at redoing some of the b0 compiler internals to be more memory friendly. PPS. What's the default bss section name for PE and DLL files? |
|||
12 Jun 2007, 00:05 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.