Re: [fpc-pascal] Smart link in FreeBSD multi-arch ?
On 10/17/2016 7:47 PM, fredvs wrote: @fpc-team: Why not register the concept of "smart-linking", nobody knows that word in other language. IMO, it would be good to add in wikipedia a article about "smartlink" and not forget to say that the concept of "smart-linking" comes from fpc. Well, it does not come from FPC, in fact the Borland compiler back to at least Turbo/Borland Pascal 7.0 supported that feature. (Don't know if Turbo Pascal 6.0 might have already supported it because I skipped it "back then" and went from 5.5 straight to 7.0... Ralf --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Smart link in FreeBSD multi-arch ?
On 10/17/2016 10:47 PM, fredvs wrote: @fpc-team: Why not register the concept of "smart-linking", nobody knows that word in other language. IMO, it would be good to add in wikipedia a article about "smartlink" and not forget to say that the concept of "smart-linking" comes from fpc. it does not... smart linking originated with the TopSpeed team which Borland picked up many years back... sadly, they later let the TopSpeed team go but smartlinking originated way back long ago... -- NOTE: No off-list assistance is given without prior approval. *Please keep mailing list traffic on the list* unless private contact is specifically requested and granted. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Smart link in FreeBSD multi-arch ?
Oops, I did not see this... > Is only Smart-Linking causing the problem? Yes I agree it is only a detail, all the rest is working perfectly. And I will survive, even with smart-link 32 bit not working in one of my system. ;-) Thanks a lot for helping. @fpc-team: Why not register the concept of "smart-linking", nobody knows that word in other language. IMO, it would be good to add in wikipedia a article about "smartlink" and not forget to say that the concept of "smart-linking" comes from fpc. Fre;D - Many thanks ;-) -- View this message in context: http://free-pascal-general.1045716.n5.nabble.com/Smart-link-in-FreeBSD-multi-arch-tp5726375p5726621.html Sent from the Free Pascal - General mailing list archive at Nabble.com. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Smart link in FreeBSD multi-arch ?
> Just curious. If you don't compile with Smart-Linking enabled, does your binary then run fine? Yes, without Smart-linking, a 32 bit fpc application runs fine in a multi-arch 64 bit system. With Smart-linking a 32 bit application runs fine only in a mono-arch 32 bit. Fred. - Many thanks ;-) -- View this message in context: http://free-pascal-general.1045716.n5.nabble.com/Smart-link-in-FreeBSD-multi-arch-tp5726375p5726620.html Sent from the Free Pascal - General mailing list archive at Nabble.com. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] 3.1.1 documentation in html on the website?
On Mon, 17 Oct 2016, David Emerson wrote: Michael Van Canneyt wrote: David Emerson wrote: Can the 3.1.1 documentation be viewed as html on the website? where? No. The 3.0.0 version is easy to find... but I'd like to see the one under development It is not under development. I only document released material. I guess I should have phrased my question differently. I filed a bug against the documentation and it was marked fixed in 3.1.1, what's the best way to review the new version? You'll have to check the sources. There are no daily builds of the documentation. Michael. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] 3.1.1 documentation in html on the website?
Michael Van Canneyt wrote: David Emerson wrote: Can the 3.1.1 documentation be viewed as html on the website? where? No. The 3.0.0 version is easy to find... but I'd like to see the one under development It is not under development. I only document released material. I guess I should have phrased my question differently. I filed a bug against the documentation and it was marked fixed in 3.1.1, what's the best way to review the new version? Thanks! ~David ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] 3.1.1 documentation in html on the website?
On Mon, 17 Oct 2016, David Emerson wrote: Can the 3.1.1 documentation be viewed as html on the website? where? No. The 3.0.0 version is easy to find... but I'd like to see the one under development It is not under development. I only document released material. Michael. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
[fpc-pascal] 3.1.1 documentation in html on the website?
Can the 3.1.1 documentation be viewed as html on the website? where? The 3.0.0 version is easy to find... but I'd like to see the one under development Thanks! David. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
[fpc-pascal] Piping: high level tool? Strong types sent via pipe
I was thinking: pipes are useful to communicate between processes. How about a high level communication system instead of just sending low level strings over the pipe? For example strong typing. If you want to send an integer over a pipe, you generally have to parse the string and ensure it is a number being sent over the pipe and not text, etc. So instead of everyone reinventing their own strong typing system over pipes to ensure data is received correctly, why not have a pipe library that anyone can use which sends strongly typed information over the pipe? i.e. Pipe.SendInteger, Pipe.SendString, Instead of just writeln(pipe, 'a string') which will need to be parsed and checked. This may be something like interprocess communication library that is already available for FPC, I don't know. I just had a brainstorm here... pipes remind me of sockets...if you send data over a socket you have to parse it, deal with it... Everyone reinvents their own messaging system instead of having a single high level tool that everyone uses. Also nice would be: Pipe.Send(varargs) i.e. Pipe.Send(integer, string, byte, anythingyouwant). Am I just reinventing the library already available for fpc for IPC (interprocess communication) ? Last time I tried it (been a long time) I had some issues with duplicates showing up when communicating over IPC. Anyway so what I would like to do, is have one process open up a pipe, and send strongly typed data to another process. This is almost as powerful as having a DLL since a dll allows you to communicate code between a dll and an exe.. But with pipes no DLL is required, just two exes. This is extremely powerful underused mechanism to create exe or elf plugins that communicate with a main exe/elf program. I don't like low level piping and sockets where you have to parse data and create your own message system: everyone reinvents the wheel instead of having a single library to use that is high level. I think sockets communication and pipes are the biggest case of everyone reinventing the wheel that there is! ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Smart link in FreeBSD multi-arch ?
Am 17.10.2016 17:11 schrieb "Martin Schreiber": > > On Monday 17 October 2016 15:30:36 Graeme Geldenhuys wrote: > > On 2016-10-17 13:55, fredvs wrote: > > > So it seems that garbage collection must be enabled to do a smartlink. > > > > I'm not sure I follow you. From what I understand from the FPC > > documentation, is that FPC (when smartlinking is enabled) generates > > multiple object files per unit, trying to make a object file per procedure. > > > Doesn't it use function-sections nowadays? It depends on the target. Most targets indeed used section based smartlinking while AFAIK targets like go32v2 use the file based approach. Regards, Sven ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] How to know the encoding of a string?
On 10/17/16, Marcos Douglas B. Santoswrote: > Is there a way to know what encoding was used at a string? > > My system are receiving some files and I don't know the encoding. > I would like to know and then, convert it. As explained there is no certain way. Lazarus comes with lconvencoding unit which has a guessencoding function. Maybe this can be of some help to you? (Ruling out a string is UTF8 (compatible) can be done 100%) Bart ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] server down?
On 10/17/16, Mattias Gaertnerwrote: > When clicking on the "Free Pascal Community" link it times out: > http://community.freepascal.org:1/ Posted to lazarus-dev ML and when I got no reply reported on Mantis in january 2016. http://bugs.freepascal.org/view.php?id=29452 Bart ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Generic way to pre-maturely exit TCustomApplication without memory leaks
On 10/17/16, grouchysmurfwrote: >> Why a hack? >> System.ExitCode is meant for returning exitcodes. > > Being forced to forfeit one or two layers of abstraction in an object > oriented environment does sound like a hack to me. A direct access to > system variables is inelegant to my unexperienced eye but YMMV. I can see your reasoning. Again: file a feature request (with the above argumentation) in the bugtracker. Attach a patch, this will increase the likelyhood it'll be looked into by one of the devels. Bart ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] server down?
On 2016-10-17 17:28, Mattias Gaertner wrote: Hi, On the bug tracker login page http://mantis.freepascal.org/login_page.php?return=%2Fmy_view_page.php%3F I see this text: Do you already have a login at Free Pascal Community? You can use that login here (use your e-mail address as username). When clicking on the "Free Pascal Community" link it times out: http://community.freepascal.org:1/ BTW, the bugs.freepascal.org site nowhere mentions a webmaster. Mattias I can get access using http://bugs.freepascal.org without any problems... -Torsten. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
[fpc-pascal] server down?
Hi, On the bug tracker login page http://mantis.freepascal.org/login_page.php?return=%2Fmy_view_page.php%3F I see this text: Do you already have a login at Free Pascal Community? You can use that login here (use your e-mail address as username). When clicking on the "Free Pascal Community" link it times out: http://community.freepascal.org:1/ BTW, the bugs.freepascal.org site nowhere mentions a webmaster. Mattias ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Smart link in FreeBSD multi-arch ?
On Monday 17 October 2016 15:30:36 Graeme Geldenhuys wrote: > On 2016-10-17 13:55, fredvs wrote: > > So it seems that garbage collection must be enabled to do a smartlink. > > I'm not sure I follow you. From what I understand from the FPC > documentation, is that FPC (when smartlinking is enabled) generates > multiple object files per unit, trying to make a object file per procedure. > Doesn't it use function-sections nowadays? Martin ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Smart link in FreeBSD multi-arch ?
On 2016-09-21 18:07, fredvs wrote: > In a multi-arch system (64 bit system that can run 32 bit apps too) FreeBSD > 64, there is problem if a fpc 32 bit application was compiled with smart > link (-XX). Just curious. If you don't compile with Smart-Linking enabled, does your binary then run fine? Is only Smart-Linking causing the problem? Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Smart link in FreeBSD multi-arch ?
Yeh, the cavalry finally arrives, I am saved. ;-) > it is then the linkers job to link only the object files that are needed > (and really used in the application) to make the executable. Yes, yes, yes and re-yes. > I guess showing them the content of the ppas.sh file is all that they > should need as proof. Huh, it is already one week (7 days) that I repeat it on each answer. > Some developers are harder to convince about potential problems or bugs. Yes but here it is different. Did you see that they do not want that I answer any more? Sincerely, if it was for one of my project, I never will fight and accept to be insulted in each of their answer, this more than a week. But here it is about the honor of fpc who was accused to produce bad code. > The alternative (if you know exactly what the problem is), is to modify > the ld linker yourself and see if it then works on your system. Yep or prove that a gcc or clang or llvm compiler that use ld + --gc-sections produce binary not usable in multi-arch. ==> https://forums.freebsd.org/threads/58060/ Thanks Graeme, I was beginning to think that I was in a nightmare without end. Fre;D - Many thanks ;-) -- View this message in context: http://free-pascal-general.1045716.n5.nabble.com/Smart-link-in-FreeBSD-multi-arch-tp5726375p5726606.html Sent from the Free Pascal - General mailing list archive at Nabble.com. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Smart link in FreeBSD multi-arch ?
On 2016-10-17 13:55, fredvs wrote: > So it seems that garbage collection must be enabled to do a smartlink. I'm not sure I follow you. From what I understand from the FPC documentation, is that FPC (when smartlinking is enabled) generates multiple object files per unit, trying to make a object file per procedure. It is then the linkers job to link only the object files that are needed (and really used in the application) to make the executable. How the linker does that is beyond my knowledge. > There in FreeBSD forum, they cannot admit that fpc uses *--gc-sections* > option in ld when fpc -XX is used. I guess showing them the content of the ppas.sh file is all that they should need as proof. The alternative (if you know exactly what the problem is), is to modify the ld linker yourself and see if it then works on your system. If so, send them a patch. Some developers are harder to convince about potential problems or bugs. The FreeBSD developers are definitely not the only ones. Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] How to know the encoding of a string?
On 2016-10-17 14:14, Marcos Douglas B. Santos wrote: > My system are receiving some files and I don't know the encoding. > I would like to know and then, convert it. No such function [with exact results] exists anywhere (no matter the programming language). The best programs can do is to interrogate the contents of a file and make a best guess. How they do that interrogation -- I unfortunately don't know. I guess you could look at the source code of some of the open source text editors and see what they do. Some text editors are much better than others. eg: EditPad Pro (commercial) and jEdit (open source) are very good at these interrogations. Alternatively, simply ask the person that supplies you with these files to tell you want encoding they use. They must know the answer. Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] How to know the encoding of a string?
Marcos Douglas B. Santos wrote: > Is there a way to know what encoding was used at a string? > > My system are receiving some files and I don't know the encoding. > I would like to know and then, convert it. There are some heuristics you could try to apply (see e.g. http://chsdet.sourceforge.net ), but in general it is impossible to know for sure what encoding has been used. Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
[fpc-pascal] How to know the encoding of a string?
Hi, Is there a way to know what encoding was used at a string? My system are receiving some files and I don't know the encoding. I would like to know and then, convert it. Best regards, Marcos Douglas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Smart link in FreeBSD multi-arch ?
Thanks Michael. > No, simply probably no-one knows the answer or the few knowledgable people > didn't see your message. OK I agree the problem is complicated it is the reason why I ask this to fpc + freebsd forum. But here I ask something simple : What option is added to linker when -XX parameter is used? If you do: fpc -s -XX test.pas, in the ppas.sh produced, *--gc-sections* option is added to ld option. So it seems that garbage collection must be enabled to do a smartlink. And if this is right, using garbage collection in FreeBSD 32 bit produce code not usable in Multi-arch. There in FreeBSD forum, they cannot admit that fpc uses *--gc-sections* option in ld when fpc -XX is used. Fre;D - Many thanks ;-) -- View this message in context: http://free-pascal-general.1045716.n5.nabble.com/Smart-link-in-FreeBSD-multi-arch-tp5726375p5726601.html Sent from the Free Pascal - General mailing list archive at Nabble.com. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Error: Identifier not found "Heap Error"
Luiz Gonzaga de Oliveira Neto wrote: > Would be it be better to try to compile this with the Turbo Pascal > compiler then? Or do you think it would be easier to try to remove the > lines with these codes and continue with FPC? My fear is that in some of > these modifications I change what the code was supposed to do. As the link that Bart posted explains (http://putka.upm.si/langref/turboPascal/0683.html ), HeapError is a pointer to a function that would be called when you're out of memory. That happened quite regularly if all you had was 640KB, but it is extremely unlikely to happen if you are running that same program on the same inputs on a 32 or even 64 bit platform. If that would happen anyway, then by default FPC will terminate your program with a Run-time error 204. You can then still look at what the original program did if it ran out of memory and try to do the same in a more preventative way, if it did not simply use that HeapError function pointer to print a (more user-friendly) error message and terminate as well. Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Error: Identifier not found "Heap Error"
On Mon, 17 Oct 2016, Luiz Gonzaga de Oliveira Neto wrote: Hi all, Thanks for the help. Would be it be better to try to compile this with the Turbo Pascal compiler then? Or do you think it would be easier to try to remove the lines with these codes and continue with FPC? My fear is that in some of these modifications I change what the code was supposed to do. Normally, you can just remove the lines that contain HeapError. Michael. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Error: Identifier not found "Heap Error"
Hi all, Thanks for the help. Would be it be better to try to compile this with the Turbo Pascal compiler then? Or do you think it would be easier to try to remove the lines with these codes and continue with FPC? My fear is that in some of these modifications I change what the code was supposed to do. Best regards, On Sun, Oct 16, 2016 at 1:12 PM Bartwrote: > On 10/16/16, Mark Morgan Lloyd wrote: > > > I've got a 5.0 manual to hand [blows dust off, coughs]. > > See: http://putka.upm.si/langref/turboPascal/0683.html > > Bart > ___ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal > -- -- Luiz G. de Oliveira Neto -- Unicamp - EC09 --- ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Compiler option -gt (Trash local variables)
On 2016-10-17 10:23, Marco van de Voort wrote: > I've used it in debugging/hardening fpdoc a few years ago, and had good > experiences. I also benefited a lot from -CR Thank you both Marco and Jonas. I only discovered the setting over the weekend, and it does seem like a useful option to use while debugging. Regards, Graeme ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Compiler option -gt (Trash local variables)
In our previous episode, Graeme Geldenhuys said: > How well does the -gt compiler option work? Is it worth enabling during > debugging? I've used it in debugging/hardening fpdoc a few years ago, and had good experiences. I also benefited a lot from -CR ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Compiler option -gt (Trash local variables)
Graeme Geldenhuys wrote on Mon, 17 Oct 2016: How well does the -gt compiler option work? I don't think there are any known bugs with it in either 3.0 or trunk. 3.0 does not trash ansi/unicodestring function results though, while trunk does. Is it worth enabling during debugging? I think so, yes. Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
[fpc-pascal] Compiler option -gt (Trash local variables)
Hi, How well does the -gt compiler option work? Is it worth enabling during debugging? Regards, Graeme ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Generic way to pre-maturely exit TCustomApplication without memory leaks
Hi. >> I ended up doing exactly that though it feels like an ugly thoug[h] >> incomplete hack. Thanks for the tip. > Why a hack? > System.ExitCode is meant for returning exitcodes. Being forced to forfeit one or two layers of abstraction in an object oriented environment does sound like a hack to me. A direct access to system variables is inelegant to my unexperienced eye but YMMV. Ćukasz ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal