[fpc-devel] Compiler switches to obtain the smallest file size
Hi to all, what are the FPC compiler switches I can use to obtain the smallest file size? Has been improved the Smart Link feature in the new 2.3.x branch? PS: I just know and use the strip --strip-all and upx commands. -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Compiler switches to obtain the smallest file size
Hi, On Fri, Nov 14, 2008 at 10:54 AM, Henry Vermaak [EMAIL PROTECTED] wrote: 2008/11/14 Fabio Dell'Aria [EMAIL PROTECTED]: Hi to all, what are the FPC compiler switches I can use to obtain the smallest file size? Has been improved the Smart Link feature in the new 2.3.x branch? PS: I just know and use the strip --strip-all and upx commands. http://wiki.freepascal.org/Size_Matters Thank you very much. Reading on the site I have removed a package unit from my project .lpr uses and reduce its size at about 50% (from 3.6Mb to 1.76Mb). Really good! :) use -XX -Xs henry ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Rebuild FPC and RTL with custom switches
Hi, On Tue, Nov 11, 2008 at 12:43 PM, Jonas Maebe [EMAIL PROTECTED] wrote: On 11 Nov 2008, at 12:34, Fabio Dell'Aria wrote: Hi Jonas, On Tue, Nov 11, 2008 at 12:15 PM, Jonas Maebe [EMAIL PROTECTED] wrote: Execute the following in the top FPC source directory: make clean all OPT=-CX -XX -U3 -Ur After some times I receive the following error message: make.exe: *** [build-stamp.i386-win32] Error 2 Why? I can't tell if you just post this one line. It's like saying My program crashed. Why? Jonas My last error is: C:/Programmi/Lazarus/fpc/2.2.2/bin/i386-win32/ppc386.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../win -FE. -FUC:/fpcbuild-2.2.2/fpcsrcrtl/units/i386-win32 -CX -XX -U3 -Ur -di386 -dRELEASE -Us -Sg system.pp -Fi../win Error: Illegal parameter: -U3 -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Rebuild FPC and RTL with custom switches
Hi Jonas, On Tue, Nov 11, 2008 at 12:15 PM, Jonas Maebe [EMAIL PROTECTED] wrote: On 11 Nov 2008, at 11:03, Fabio Dell'Aria wrote: how I can rebuild the FPC and RTL with custom switches? I wont to uses -CX -XX -U3 -Ur Execute the following in the top FPC source directory: make clean all OPT=-CX -XX -U3 -Ur Jonas After some times I receive the following error message: make.exe: *** [build-stamp.i386-win32] Error 2 Why? -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Rebuild FPC and RTL with custom switches
OK, I found the error (wrong switches). ;) On Tue, Nov 11, 2008 at 12:43 PM, Jonas Maebe [EMAIL PROTECTED] wrote: On 11 Nov 2008, at 12:34, Fabio Dell'Aria wrote: Hi Jonas, On Tue, Nov 11, 2008 at 12:15 PM, Jonas Maebe [EMAIL PROTECTED] wrote: Execute the following in the top FPC source directory: make clean all OPT=-CX -XX -U3 -Ur After some times I receive the following error message: make.exe: *** [build-stamp.i386-win32] Error 2 Why? I can't tell if you just post this one line. It's like saying My program crashed. Why? Jonas ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Rebuild FPC and RTL with custom switches
Hi to all, how I can rebuild the FPC and RTL with custom switches? I wont to uses -CX -XX -U3 -Ur -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Rebuild FPC and RTL with custom switches
Yes, exactly! ;) Thank you for your support! :) On Tue, Nov 11, 2008 at 12:55 PM, Jonas Maebe [EMAIL PROTECTED] wrote: On 11 Nov 2008, at 12:50, Fabio Dell'Aria wrote: My last error is: C:/Programmi/Lazarus/fpc/2.2.2/bin/i386-win32/ppc386.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../win -FE. -FUC:/fpcbuild-2.2.2/fpcsrcrtl/units/i386-win32 -CX -XX -U3 -Ur -di386 -dRELEASE -Us -Sg system.pp -Fi../win Error: Illegal parameter: -U3 Well, the reason is that I just copy-pasted the command line options that you provided, and it contained an error. -U3 is not a valid FPC option. Maybe you meant -O3? Jonas ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Itanium porting
Hi to all, is FreePascal able to compile for Itanium CPUs? If not, there is a road-map to do this? -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Strange .EXE stripped issue
Hi to all, I have a little problem stripping my .EXE compiled file. The final size with the DEBUG symbols (from -gl flag) is: 65132 bytes (A) with strip --strip-debug become: 64583 bytes (B) with strip --strip-unneeded become: 39424 bytes Difference from (A) - (B) = 25159 bytes What data are stored into this 25159 bytes? How I can remove them? -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Strange .EXE stripped issue
Hi, 2008/1/21, Jonas Maebe [EMAIL PROTECTED]: On 21 Jan 2008, at 13:18, Fabio Dell'Aria wrote: I have a little problem stripping my .EXE compiled file. The final size with the DEBUG symbols (from -gl flag) is: 65132 bytes (A) with strip --strip-debug become: 64583 bytes (B) with strip --strip-unneeded become: 39424 bytes Difference from (A) - (B) = 25159 bytes What data are stored into this 25159 bytes? Symbols. How I can remove them? With --strip-unneeded No my questions is: How I can remove ONLY this symbols (not DEBUG sections)? :) -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] New -Xg option in the last 9778 revision
Hi, 2008/1/18, Michael Schnell [EMAIL PROTECTED]: I think is really most important can use it ASAP. Right ! See the latest posts in the Borland Kylix Newsgroup (that indeed still exists :) ). What do you mean? :| -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] New -Xg option in the last 9778 revision
Hi, 2008/1/18, Michael Schnell [EMAIL PROTECTED]: I suggested using Lazarus and the OP said he had great doubts because the size of the exe of his test program is 10 times the size of that compiled by Borland. -Michael I have found the original thread. See it here: http://groups.google.com/group/borland.public.kylix.ide/browse_thread/thread/e6beff158e36b0b8 -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] New -Xg option in the last 9778 revision
Hi, 2008/1/18, Felipe Monteiro de Carvalho [EMAIL PROTECTED]: On Jan 18, 2008 9:39 AM, Michael Schnell [EMAIL PROTECTED] wrote: I suggested using Lazarus and the OP said he had great doubts because the size of the exe of his test program is 10 times the size of that compiled by Borland. So, he couldn't read the FAQ: http://wiki.lazarus.freepascal.org/Lazarus_Faq#Why_are_the_generated_binaries_so_big.3F Or we can apply this patch to the 2.2.2 branch! ;) -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] RTL StackTrace patch
Hi to all, I'm writing a patch to can use an external .dbg file during the debugging process. All works fine but when an unhandled exception is raised the RTL show stacktrace without debug info (no sources line). How I can instruct the RTL to search the debug symbols in a project.dbg file (if not found in the executable)? -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] RTL StackTrace patch
Hi, 2008/1/17, Vincent Snijders [EMAIL PROTECTED]: Fabio Dell'Aria schreef: Hi to all, I'm writing a patch to can use an external .dbg file during the debugging process. All works fine but when an unhandled exception is raised the RTL show stacktrace without debug info (no sources line). How I can instruct the RTL to search the debug symbols in a project.dbg file (if not found in the executable)? Write support for it in the lineinfo and lnfodwrf units. You can find those units in fpc\rtl\inc. Vincent These 2 units uses the f and infile files to read the debug data, but I cannot find the unit that assign these files. Where can I looking for? -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] RTL StackTrace patch
Hi, 2008/1/17, Michael Van Canneyt [EMAIL PROTECTED]: On Thu, 17 Jan 2008, Fabio Dell'Aria wrote: Hi to all, I'm writing a patch to can use an external .dbg file during the debugging process. All works fine but when an unhandled exception is raised the RTL show stacktrace without debug info (no sources line). How I can instruct the RTL to search the debug symbols in a project.dbg file (if not found in the executable)? See function openstabs in lineinfo: function OpenStabs:boolean; var ofm : word; begin OpenStabs:=false; assign(f,paramstr(0)); and for dwarf in lnfodwarf there is OpenDwarf: function OpenDwarf() : Boolean; var oldfilemode : Word; begin OpenDwarf := false; { open input file } assign(infile, paramstr(0)); {$I-} Thank you very much! :) I'm working on. ;) -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] RTL StackTrace patch
Hi, 2008/1/17, Peter Vreman [EMAIL PROTECTED]: I think it should by default look for program.dbg file , and then if not exists for paramstr(0). Is that enough ? If so,please explain how to check if file exists , which function could be used here. No, as Peter described, you should look in the executable for a link to the file with debug info. Moreover, if the debug information is included within the executable file directly, there's probably no need to look for an external file, IMHO, so if the proper link isn't available and we would want to support external files anyway, the preference should be probably the other way round (first paramstr(0), then paramstr(0) with extension changed to .dbg or something like that). I don't agree. We should not support looking implicitly for a .dbg without a gnu_debuglink section. Because there is no garauntee that the .dbg and the .exe will match. The gnu_debuglink is the only reliable way, because it uses a build-id or a checksum verification. Peter I'm sorry but I'm NOT ABLE to create a patch to read and verify the gnu_debuglink section. I'm ONLY able to search for an external .dbg file (the same of the .exe but simply renamed). So I think others must write this path, I'm really sorry to cannot help! :( A voluntary? ;) -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] New -Xg option in the last 9778 revision
Hi to all, I have some questions about the last 9778 revision (related to the new -Xg option). The help tell: -Xg now produces a .dbg file with debuginfo that can be used by gdb. My questions are: 1)...when this patch will be apply to the current 2.2.x version (I think currently it works only on the last 2.3.x version)? 2)...when will be added the full lineinfo and lnfodwrf units supports to read the debuginfo from the external .dbg file? Thank you to all for your attention! ;) -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] New -Xg option in the last 9778 revision
Hi, 2008/1/17, Michael Van Canneyt [EMAIL PROTECTED]: On Thu, 17 Jan 2008, Fabio Dell'Aria wrote: Hi, 2008/1/17, Peter Vreman [EMAIL PROTECTED]: Hi to all, I have some questions about the last 9778 revision (related to the new -Xg option). The help tell: -Xg now produces a .dbg file with debuginfo that can be used by gdb. My questions are: 1)...when this patch will be apply to the current 2.2.x version (I think currently it works only on the last 2.3.x version)? The patch is not even 24 hours old and needs to stabilize first. Maybe in a couple of months it will be considered for inclusion. Do you think it will be included in the next 2.2.2 stable release? Normally not. Why? I think is really most important can use it ASAP. If we can use it on the next 2.2.2 (with the full lineinfo and lnfodwrf units supports) then is probably that the next lazarus 0.9.26 will be ready to use external .dbg files, solving the big issue of the compiled file size. Michael. -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] New -Xg option in the last 9778 revision
Hi, 2008/1/17, Michael Van Canneyt [EMAIL PROTECTED]: On Thu, 17 Jan 2008, Fabio Dell'Aria wrote: Hi, 2008/1/17, Michael Van Canneyt [EMAIL PROTECTED]: On Thu, 17 Jan 2008, Fabio Dell'Aria wrote: Hi, 2008/1/17, Peter Vreman [EMAIL PROTECTED]: Hi to all, I have some questions about the last 9778 revision (related to the new -Xg option). The help tell: -Xg now produces a .dbg file with debuginfo that can be used by gdb. My questions are: 1)...when this patch will be apply to the current 2.2.x version (I think currently it works only on the last 2.3.x version)? The patch is not even 24 hours old and needs to stabilize first. Maybe in a couple of months it will be considered for inclusion. Do you think it will be included in the next 2.2.2 stable release? Normally not. Why? Because 2.2.2 is a bugfix only release, no new features are allowed. Michael. I understand and agree with this position, add a new features in a bugfix only release is dangerous! Any opinion about the 2.4 release date? -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] New -Xg option in the last 9778 revision
Hi, 2008/1/17, Peter Vreman [EMAIL PROTECTED]: Hi to all, I have some questions about the last 9778 revision (related to the new -Xg option). The help tell: -Xg now produces a .dbg file with debuginfo that can be used by gdb. My questions are: 1)...when this patch will be apply to the current 2.2.x version (I think currently it works only on the last 2.3.x version)? The patch is not even 24 hours old and needs to stabilize first. Maybe in a couple of months it will be considered for inclusion. Do you think it will be included in the next 2.2.2 stable release? 2)...when will be added the full lineinfo and lnfodwrf units supports to read the debuginfo from the external .dbg file? Thank you to all for your attention! ;) When time permits or we receive a patch. Peter -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Build FPC 2.3.1 from SVN sources
Hi, 2008/1/17, Vincent Snijders [EMAIL PROTECTED]: Fabio Dell'Aria schreef: Hi to all, I have just checkout the FPC 2.3.1 trunk from the SVN. Now I need to know how I can build FPC from its sources. Can someone help me, please? Read the buildfaq: http://www.stack.nl/~marcov/buildfaq.pdf Vincent I'm very confused. I cannot build it! Many errors. Why do not add a simple .bat file able to do all the works? :( -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Build FPC 2.3.1 from SVN sources
Hi, 2008/1/17, Joao Morais [EMAIL PROTECTED]: Vincent Snijders wrote: Fabio Dell'Aria schreef: Where I can find the make program (command) on Windows? On the FPC\bin I found only fpcmake.exe IMO, the best way to get it, is to install the latest FPC release (which you have anyway for the starting compiler as explained in the buildfaq) and get it from the compiler directory (the directory with ppc386.exe). You can also checkout http://svn.freepascal.org/svn/fpcbuild/trunk/install/binw32 -- Joao Morais Done, thank you! ;) -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Build FPC 2.3.1 from SVN sources
Hi, 2008/1/17, Vincent Snijders [EMAIL PROTECTED]: Fabio Dell'Aria schreef: I'm very confused. I cannot build it! Many errors. Why do not add a simple .bat file able to do all the works? :( I can think of several reasons: 1. .bat doesn't work on the majority of OS-es 2. .bat only can work in a certain default configuration 3. in this default configuration the bat file would contain two lines: make all make install I am pretty sure these lines are in the build faq and a .bat file is hardly simpler. Vincent Where I can find the make program (command) on Windows? On the FPC\bin I found only fpcmake.exe -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Build FPC 2.3.1 from SVN sources
Hi, 2008/1/17, Vincent Snijders [EMAIL PROTECTED]: Fabio Dell'Aria schreef: Where I can find the make program (command) on Windows? On the FPC\bin I found only fpcmake.exe IMO, the best way to get it, is to install the latest FPC release (which you have anyway for the starting compiler as explained in the buildfaq) and get it from the compiler directory (the directory with ppc386.exe). Vincent OK, I have found the make.exe on the lazarus\fpc\2.2.0\bin\i386-win32\ but when I try to run the make all i receive the following errors: ... Error makefile 1443: Command syntax error Error makefile 1444: Command syntax error Error makefile 1445: Command syntax error Error makefile 1446: Command syntax error Error makefile 1447: Command syntax error Error makefile 1448: Command syntax error ... How can I fix this? -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Build FPC 2.3.1 from SVN sources
Hi, 2008/1/17, Vincent Snijders [EMAIL PROTECTED]: Fabio Dell'Aria schreef: Hi to all, I have just checkout the FPC 2.3.1 trunk from the SVN. Now I need to know how I can build FPC from its sources. Can someone help me, please? Read the buildfaq: http://www.stack.nl/~marcov/buildfaq.pdf Thank you! :) -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] A Compiled file size solution from the GBD mailing-list
I have asked to the official GDB mailing list, if is possible debug a program using as debug symbols an external files. The answer is yes (there are two method to do this). You can read the full answer here: http://sourceware.org/ml/gdb/2008-01/msg00119.html I hope this can help we. -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] A Compiled file size solution from the GBD mailing-list
Hi, 2008/1/16, Marco van de Voort [EMAIL PROTECTED]: I have asked to the official GDB mailing list, if is possible debug a program using as debug symbols an external files. The answer is yes (there are two method to do this). You can read the full answer here: http://sourceware.org/ml/gdb/2008-01/msg00119.html I hope this can help we. Did you test it? (gdb) help symbol Load symbol table from executable file FILE. The `file' command can also load symbol tables, as well as setting the file to execute. (gdb) from _EXECUTABLE_ file FILE, iow you still need the unstripped exe. It's like calling copy file1.exe file-debug.exe strip file1.exe and then pass file-debug.exe to gdb also. Why not simple add a new FPC option able to store the debug symbols in a separated .dbg file? -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Run external program
Hi to all, I'm implementing a Console application. I need to run external program and wait until it terminates (reading the exit-code). This on Windows, Linux and Mac-OS X. Do you know any simple method valid for all these OS? -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Run external program
Hi Marco, 2008/1/16, Marco van de Voort [EMAIL PROTECTED]: I'm implementing a Console application. I need to run external program and wait until it terminates (reading the exit-code). This on Windows, Linux and Mac-OS X. Do you know any simple method valid for all these OS? Thank you very much! Really simple and powerful! :) -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] A Compiled file size solution from the GBD mailing-list
Hi, 2008/1/17, Peter Vreman [EMAIL PROTECTED]: At 22:25 16-1-2008, you wrote: At 21:32 16-1-2008, you wrote: On Wed, 16 Jan 2008, Peter Vreman wrote: At 13:17 16-1-2008, you wrote: Marco van de Voort wrote: from _EXECUTABLE_ file FILE, iow you still need the unstripped exe. Perhaps it doesn't need the .text, .data, .bss etc sections though. I also posted this on Lazarus mailing list already. Below are the 2 commands to make it working. In the first command only the debug information is kept in lazarus.dbg. And the second is the already know way to strip the debug information. [cut] And as a final note: Yes, it is possible to fix fpc to write such a .dbg file also. Didn't we receive a patch from the Morfik people which did exactly this ? I remember that we had an email-conversation about it, and I also seem to remember applying a patch ? There was already a quick hack added with the -Xg option to create a separate .dbg file. But the contents of this file is not good for gdb. We need to rewrite this part to be compatible with gdb and other gnu tools. Support for a separate .dbg file is now available for windows in current svn trunk with the -Xg option. No need anymore for objcopy --only-keep-debug objcopy --add-debug-link strip under windows. The external linker (e.g. linux) still be updated to support objcopy and strip when -Xg is passed. Peter I have just try on Windows with objcopy (I have ownloaded it from the mingw binutils binaries) and works like a charm. The -Xg flag do not works. GDB tell me: not found symbols. PS: why do not add objcopy to the FPC bin folder? -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Update UPX to the last 3.02 stable version
Why do not update the UPX released with FPC with the last 3.02 stable version? Current it contain the old UPX 1.25 version. -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Change object file extension
Hi to all, can someone tell me if exists a compiler/linker option to can change the default Object File extension .o ? -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Debug Info proposal
Hi, I have try to create a .exe with the -Xs option (without any -g options) but the .exe is unusable (the project do not starts also outside the IDE). 2008/1/14, Marco van de Voort [EMAIL PROTECTED]: As stripping on/off is a simple compiler option in the project setting anyway, build modes don't offer much on the OP's issue. The problem is that this works poorly since -Xs is ignored if an user specifies any -g option. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Debug Info proposal
Hi to all, I have a little (I hope useful) propose related to the debug info attached to every compiled file. I know these info are really useful during the normal debug process and I know also that more beginner programmers do not uses FreePascal because it generates BIG compiled files. I think the FreePascal debug info contains the full source code of the compiled software, so I suggest to add an option to can add ONLY debug info related to Address - Unit/Class.Method/Line (without any source code). So will be possible: 1)...speedup the compiling process (write less bytes on disk and use less RAM to generate compiled file); 2)...the beginner programmers do not stop to uses FreePascal for its BIG compiled files. What do you think of this my proposal? -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Debug Info proposal
Hi, but why isn't simply possible store as Source Code an empty string? This will be conform to stabs/dwarf specification and in the same time will drastically reduce the final debug info file size. What do you think of this? 2008/1/12, Jonas Maebe [EMAIL PROTECTED]: On 12 Jan 2008, at 16:07, Bogusław Brandys wrote: Could we have debug info as separate file ? If this would be possible I could create release stripped EXE and yet be able to obtain unit/line of exception combining stacktrace numeric output with correct debug info file You can already do this: compile a release executable with debug info, and then distribute a stripped copy of that executable. The addresses in the stripped executable will match exactly with the addresses in the unstripped one. Jonas___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Debug Info proposal
OK, but why do not add the debug info in an external file (conform to stabs/dwarf specification)? 2008/1/12, Tomas Hajny [EMAIL PROTECTED]: On 12 Jan 08, at 17:23, Fabio Dell'Aria wrote: Hi, but why isn't simply possible store as Source Code an empty string? This will be conform to stabs/dwarf specification and in the same time will drastically reduce the final debug info file size. What do you think of this? I think that you have not read the previous responses (especially that one from Daniel) properly - there is no source code stored within the debug info. Tomas ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Debug Info proposal
Why do not simple add an option to avoid the debig info storing for all unit under a specified file path? Example: LCL or FCL (just setting a file path and the FPC just do not store debug info of all units under this path). What do you think about this? 2008/1/12, Daniël Mantione [EMAIL PROTECTED]: Op Sat, 12 Jan 2008, schreef Fabio Dell'Aria: OK, but why do not add the debug info in an external file (conform to stabs/dwarf specification)? Because the debugger doesn't support this; the compiler can do it, but, without debugger support it is useless. Daniël ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Re: Debug Info proposal
Can you tell we more about the iirc gdb please? 2008/1/13, Marc Weustink [EMAIL PROTECTED]: Daniël Mantione wrote: Op Sat, 12 Jan 2008, schreef Fabio Dell'Aria: OK, but why do not add the debug info in an external file (conform to stabs/dwarf specification)? Because the debugger doesn't support this; the compiler can do it, but, without debugger support it is useless. ?? iirc gdb (at least on linux) supports this. This is how I debug gdk libs. Marc ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FP 2.4 questions
OK, but why on my PC: ppumove system.ppu return the following long error: ... Cannot export fpc_write_text_widestr: symbol not found Cannot export fpc_writeln_end: symbol not found Cannot export operatingsystem_result: symbol not found system.o: In function `SYSTEM_init': system.pp:1103: undefined reference to `FindResourceA' system.pp:1103: undefined reference to `LoadResource' system.pp:1103: undefined reference to `SizeofResource' system.pp:1103: undefined reference to `LockResource' ... Fatal: Library building stage failed. 2007/12/27, Daniël Mantione [EMAIL PROTECTED]: Op Thu, 27 Dec 2007, schreef Fabio Dell'Aria: Yes but I just read the doc and I still obtain the following error: Processing system.ppu...Error: PPU is already in a library : system.ppu Linking Error: no files found to be linked Done. Why? :( You can only use ppumove on a unit once, its ppu is marked as moved and the library in which it is stored is stored in the ppu. Once used, you need to recompile the unit to get a unmoved unit again. Daniël ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FP 2.4 questions
Hi, can I simply add a bugreport in the Mantis Freepascal site related to this issue? 2007/12/28, Daniël Mantione [EMAIL PROTECTED]: Op Fri, 28 Dec 2007, schreef Fabio Dell'Aria: OK, but why on my PC: ppumove system.ppu return the following long error: ... Cannot export fpc_write_text_widestr: symbol not found Cannot export fpc_writeln_end: symbol not found Cannot export operatingsystem_result: symbol not found system.o: In function `SYSTEM_init': system.pp:1103: undefined reference to `FindResourceA' system.pp:1103: undefined reference to `LoadResource' system.pp:1103: undefined reference to `SizeofResource' system.pp:1103: undefined reference to `LockResource' ... Fatal: Library building stage failed. Seems it doesn't work on win32, so you are out of luck. Make ppumove dump its linker script and find out what it does wrong. You have to do it yourself, investigating Win32 linking problems is not something where I can be of any help. Daniël ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FP 2.4 questions
Hi, this is the results: ld -shared -E -o system.dll system.o prt0.o ld: prt0.o: No such file: No such file or directory 2007/12/28, Daniël Mantione [EMAIL PROTECTED]: Op Fri, 28 Dec 2007, schreef Fabio Dell'Aria: OK, but how I can: Make ppumove dump its linker script and find out what it does wrong. ? The -b options return the following .bat file: That is the correct option. ld -shared -E -o system.dll system.o What is at least missing from this script is prt0.o, so I suggest to add it, and see what it does. Probably you also need to add some DLL import stuff as that was reported to be missing too (no idea how it exactly works in Win32). As soon as the linker no longer complains, we can adapt ppumove to generate the script that way. Daniël ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FP 2.4 questions
But on the wiki I found same ppumove winnt examples: http://www.freepascal.org/docs-html/user/userse42.html#x149-1490008.7 2007/12/28, Peter Vreman [EMAIL PROTECTED]: Cannot export fpc_write_text_widestr: symbol not found Cannot export fpc_writeln_end: symbol not found Cannot export operatingsystem_result: symbol not found system.o: In function `SYSTEM_init': system.pp:1103: undefined reference to `FindResourceA' system.pp:1103: undefined reference to `LoadResource' system.pp:1103: undefined reference to `SizeofResource' system.pp:1103: undefined reference to `LockResource' ... Fatal: Library building stage failed. Seems it doesn't work on win32, so you are out of luck. Make ppumove dump its linker script and find out what it does wrong. You have to do it yourself, investigating Win32 linking problems is not something where I can be of any help. Shared library creation (e.g with ppumove) is not supported on windows. The PE-COFF file format does not support real shared libraries like they are supported under unix. If you try it you will get linking errors as shown above. Peter ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FP 2.4 questions
But if the doc is outdated then an old version works. Is possible modify the current version to works (as the old version just done)? 2007/12/28, Andrew Haines [EMAIL PROTECTED]: Fabio Dell'Aria wrote: But on the wiki I found same ppumove winnt examples: http://www.freepascal.org/docs-html/user/userse42.html#x149-1490008.7 I suspect that those docs are outdated. It's been quite some time since ar.exe needed to be copied to arw.exe or ld.exe needed to be copied to ldw.exe. Regards, Andrew ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FP 2.4 questions
Ok but whitout the full package support many companies will never uses Freepascal because is common think split big application in modules or simply sell extra application plugins. What do you think about? 2007/12/26, Florian Klaempfl [EMAIL PROTECTED]: Fabio Dell'Aria schrieb: Ok,but if time is the only problem then why do not simple add the feature in the official and definitive 2.4 roadmap and try to add it in the next 6/12/24 months? It increases maintainance time for all future releases and the current team can't spend more time in release building and maintainance. Is also possible add it as undocumented feature (as generics in 2.2) in the next 2.4 version and finish its implementation and testing in the 2.6 version. 2007/12/26, Florian Klaempfl [EMAIL PROTECTED]: Fabio Dell'Aria schrieb: Why is not possible add the package support as is on Delphi (using Rtl.bpl, Vcl.bpl ...)? Time? Only if my project is compiled with packajes I must use all base packages, otherwise I can continue to compile my project as today just do Freepascal. 2007/12/26, Luiz Americo Pereira Camara [EMAIL PROTECTED]: Daniël Mantione wrote: Did i miss something, technically? Is necessary to compile with rtl packages to distribute custom packages? Yes. Well, unless you want the RTL statically linked into each package, which will not work in a compatible way due the one heap/multiple heaps issues. There is a solution though: Distribute the rtl in source code form and compile it on installation. This could also be an advantage for setting up cross compilation environments. But don't get excited yet: We may or may not move to such a system in the future. Thanks for the info. With this picture, i'm in favor of staying like is today. No packages. Luiz ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FP 2.4 questions
Hi, 2007/12/27, Daniël Mantione [EMAIL PROTECTED]: Op Thu, 27 Dec 2007, schreef Fabio Dell'Aria: Can I use PPUMOVE tool to simulate basic packages features? Depends, you can use ppumove to convert units into shared libraries and you can use such converted units like other units. Why depends? In what circumstances I can use PPUMOVE to obtain the same Packages features/behavior ? Daniël ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FP 2.4 questions
Can I use PPUMOVE tool to simulate basic packages features? 2007/12/27, Florian Klaempfl [EMAIL PROTECTED]: Fabio Dell'Aria schrieb: Ok but whitout the full package support many companies will never uses Freepascal because is common think split big application in modules or simply sell extra application plugins. What do you think about? The simple answer is: companies really interested in packages might provide patches. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FP 2.4 questions
Can I also dynamically link to all RTL units (system.pp included)? 2007/12/27, Daniël Mantione [EMAIL PROTECTED]: Op Thu, 27 Dec 2007, schreef Fabio Dell'Aria: Hi, 2007/12/27, Daniël Mantione [EMAIL PROTECTED]: Op Thu, 27 Dec 2007, schreef Fabio Dell'Aria: Can I use PPUMOVE tool to simulate basic packages features? Depends, you can use ppumove to convert units into shared libraries and you can use such converted units like other units. Why depends? In what circumstances I can use PPUMOVE to obtain the same Packages features/behavior ? If you want to dynamically link to a (group of) unit(s), ppumove can provide you this functionality. Daniël ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FP 2.4 questions
OK, but the important is that I can do this (using only my needed units). Is this working on Win, Linux and MacOSX ? 2007/12/27, Daniël Mantione [EMAIL PROTECTED]: Op Thu, 27 Dec 2007, schreef Fabio Dell'Aria: Can I also dynamically link to all RTL units (system.pp included)? Certainly, but I do not recommend to build a librtl.so containing all rtl units, as the amount of dependecies will be so huge that it'll be a challenge to get your program working on your users their systems. Daniël ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FP 2.4 questions
Hi, 2007/12/27, Daniël Mantione [EMAIL PROTECTED]: Op Thu, 27 Dec 2007, schreef Fabio Dell'Aria: OK, but the important is that I can do this (using only my needed units). Is this working on Win, Linux and MacOSX ? You will have to check yourself, I can confirm Linux though. I'm trying it on Win32. What is the command to obtain a shared lib (dynamically loaded) for system.ppu, sysutils.ppu and sysinit.ppu ? Daniël ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FP 2.4 questions
Yes but I just read the doc and I still obtain the following error: Processing system.ppu...Error: PPU is already in a library : system.ppu Linking Error: no files found to be linked Done. Why? :( 2007/12/27, Daniël Mantione [EMAIL PROTECTED]: Op Thu, 27 Dec 2007, schreef Fabio Dell'Aria: Hi, 2007/12/27, Daniël Mantione [EMAIL PROTECTED]: Op Thu, 27 Dec 2007, schreef Fabio Dell'Aria: OK, but the important is that I can do this (using only my needed units). Is this working on Win, Linux and MacOSX ? You will have to check yourself, I can confirm Linux though. I'm trying it on Win32. What is the command to obtain a shared lib (dynamically loaded) for system.ppu, sysutils.ppu and sysinit.ppu ? Please read the documentation; we write it with reason. ppumove -olibrtl.so system.ppu sysutils.ppu sysinit.ppu ... should do the trick. Daniël ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] FP 2.4 questions
Hi to all and merry xmas, I have some questions on the 2.4 version. 1)...will be the debug information availables on separated files or I'll need alway use the strip command to remove them? 2)...will be finally avaiable the packages (as Delphi Bpl) support (and if yes when will be available the first test version with packagees support)? 3)when will be released the 2.4 version? -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FP 2.4 questions
Why is so hard deide to add package support? Iss only a new feature, if one do not need it can simply do not use it! For the debug inforrmation do you think will possible do not include them directly from compiler increasing optimization level? 2007/12/26, Jonas Maebe [EMAIL PROTECTED]: On 26 Dec 2007, at 18:25, Fabio Dell'Aria wrote: Hi to all and merry xmas, I have some questions on the 2.4 version. 1)...will be the debug information availables on separated files or I'll need alway use the strip command to remove them? Debug information will still be stored inside the final executable (except for Dwarf on Mac OS X, because there the used tool chain does not do this). This step can be automated by both IDEs and the compiler (the -Xs compiler option; and if that one does not work properly, file bug reports). Furthermore, it is always a good idea to compile all code going into a release version without debug information from the start, because when debug information is on some optimizations may not be performed (e.g., on PowerPC we always store the link register on the stack if debug information is generated, as dictated by the various ABIs). That's why most IDEs feature debug/development/.. and release/ deployment/.. targets. 2)...will be finally avaiable the packages (as Delphi Bpl) support (and if yes when will be available the first test version with packagees support)? That is not known at this point. 3)when will be released the 2.4 version? There is no planned time table for this. The next released version will be 2.2.2, and when that one will be released mainly depends on how long it will still take to replace all potentially tainted code in the rtl/fcl. Jonas ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FP 2.4 questions
Ok,but if time is the only problem then why do not simple add the feature in the official and definitive 2.4 roadmap and try to add it in the next 6/12/24 months? Is also possible add it as undocumented feature (as generics in 2.2) in the next 2.4 version and finish its implementation and testing in the 2.6 version. 2007/12/26, Florian Klaempfl [EMAIL PROTECTED]: Fabio Dell'Aria schrieb: Why is not possible add the package support as is on Delphi (using Rtl.bpl, Vcl.bpl ...)? Time? Only if my project is compiled with packajes I must use all base packages, otherwise I can continue to compile my project as today just do Freepascal. 2007/12/26, Luiz Americo Pereira Camara [EMAIL PROTECTED]: Daniël Mantione wrote: Did i miss something, technically? Is necessary to compile with rtl packages to distribute custom packages? Yes. Well, unless you want the RTL statically linked into each package, which will not work in a compatible way due the one heap/multiple heaps issues. There is a solution though: Distribute the rtl in source code form and compile it on installation. This could also be an advantage for setting up cross compilation environments. But don't get excited yet: We may or may not move to such a system in the future. Thanks for the info. With this picture, i'm in favor of staying like is today. No packages. Luiz ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] FP 2.4 questions
Why is not possible add the package support as is on Delphi (using Rtl.bpl, Vcl.bpl ...)? Only if my project is compiled with packajes I must use all base packages, otherwise I can continue to compile my project as today just do Freepascal. 2007/12/26, Luiz Americo Pereira Camara [EMAIL PROTECTED]: Daniël Mantione wrote: Did i miss something, technically? Is necessary to compile with rtl packages to distribute custom packages? Yes. Well, unless you want the RTL statically linked into each package, which will not work in a compatible way due the one heap/multiple heaps issues. There is a solution though: Distribute the rtl in source code form and compile it on installation. This could also be an advantage for setting up cross compilation environments. But don't get excited yet: We may or may not move to such a system in the future. Thanks for the info. With this picture, i'm in favor of staying like is today. No packages. Luiz ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- Best regards... Fabio Dell'Aria. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel