[fpc-pascal] Internal linker status

Sasa Zeman public at szutils.net
Wed Mar 29 18:57:52 CEST 2006


> If you want to work with development code i think it is better to find out
> it yourself what is going wrong. For me it works on all development
> systems  that i use.

If would I have a time to look at souce code, I would gladly become
developer member. However, my spare time is quite limited. And reason I use
development source are practicaly nature:

1. I very often using procedural types with overloading - reported by issue
4922 and solved by one of recent trunk revision

2. Have no time to read 1000's lines of code.

BTW, regarding mantis issue 4922. Originally reported problem is in 4920
with precise informations of the problem and referal code. Remember you
marked the problem non-existed.

My goal is to use working product, otherwise I would not send the issue.

> The problem with strip is already fixed and merged even to 2.0.3. I think
> you should do better research yourself first before immediatly asking for
> explaination.

With current SVN release the problem will remain unsolved without
documentation. And plese refer to upper wroten - I do not have time to read
source code and there is no other way solving problem without wroten
documentation, but asking concrete question.

> This is asking for explaination is exactly the reason why the -Xi switch
> is not documented or publicly announced.

I assume not many people know of it's existion. This is mailng list and one
of it's purpose is solving problems giving suggestions, etc. I haven't
notice phpBB forum for specific questions. I appology if exists.

> of it and tasks ware on your list to produce final version of internal
> linker.

There is no todo list and i can never give timelines because my time is too
limited.

> Is there a possibilitie to currently produce smaller executable with
> internal linker?
> It already does, especially with debuginfo included, see below. The
> lazarus.exe is with the internallinker, the lazarus1.exe using ld.
> -rwxrwxrwx 1 PVreman mkgroup-l-d 38997687 Mar 29 10:11 lazarus.exe
> -rwxr-xr-x 1 PVreman mkgroup-l-d 64411405 Mar 29 09:56 lazarus1.exe

Without documentation (several time noticed there is no documentation or
"What is new file"), real executable without debug infoc can not be produced
correctly. I refer to a quite small code to be compiled using internal
linker and LD ( code provided with issue 4922):

143,872 Demo-GNU.exe // With GNU linker
551,464 Demo-INT.exe // With internal linker

The lazarus.exe is created by todays SVN revision using:
make clean all OPT="-Xi -Xs"

Unfortunately, there are present practicaly problems (as well as with GNU
linker):

1. Building time is several times worst comparing with LD and produced exe
with 39,036,385 bytes. Stripped EXE is 33,887,549 bytes. Stripped exe linked
with LD is about 7 MB.

2. Memory using is over 80MB. This is quite problematic on computers with
128MB and less. That is reason that Window uses swapfile all the time. It
would be very useful optimizing  algorithm to use only available phisical
memory for critical data for operation and flush produced code to exe file
more often reusing phisical memory more often.

Hope this will help to improve the product.

Sasa
--
www.szutils.net




More information about the fpc-pascal mailing list