Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2003-09

Unix changes in 1.1

4 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Marco van de Voort

(note: this only applies to the unix platforms)

At the moment I'm rearranging the unix part of the 1.1 RTL. However currently only cycle works for 1.1, I wait till fixing the building of FCL and packages till I did some more cleaning up in the 1.1 RTL.

This all will be done in complete and utter incompability with 1.0.x, so that it is more compatible with C naming and typing.

However for compability, the old linux unit is still somewhat available as unit "oldlinux". Somewhat, since it is not entirely compatible either. I advise to use the new 1.1 RTL as much as possible though in your projects. IFDEF with

{$ifndef VER1_0} ... 1.1+ code [$else} 1.0.x code {$endif} if you have to.

While this may sound slightly negative, it isn't. The idea is to put a somewhat portable, well designed. layered and clean base unix system as a fundament for core services inside the RTL.

The rough idea is that unit linux/unix is split up into a lot of units, and the calls are cleaned up with respect to typing and naming, To ease (multi architecture in 1.1!) porting and maintenance. However the 1.0.x unit linux will roughly remain around for a while as init oldlinux.

On this moment however oldlinux follows the ERRNO handling of Baseunix, which is compatible with C. (1.0.x errorhandling is flakey, and works differently). This will be fixed in the future.

The POSIX (2003) part of the calls currently in linux/uni9x will move to unit baseunix, have more unixy typing, and in general have a name that is equal to their C name, prefixed with fp.

The rest remains in principle in unit Unix for now, but will be cleaned up a bit.

Exceptions:
- the syscalls themselves will change prototype and move to unit syscall Also their definition changes to a more procedural system, no more linux specific "syscallreg"
- the x86 calls will move to unit x86. (e.g. port using)

Comments, remarks, flames to me.

Reply by email

Zbigniew Kuczbanski
to Marco van de Voort

Hi,
I try compile install program for FP compiler under platform win32. Today via CVS I download FVision source, installer source, and some source units from idesrc.
All unit I can compile, and can build install.exe for win32. It works, but eat all power of processor.
I check orginal install.exe, when it nothing do (wait for operator), it takes 0% of processor.
Install.exe witch I compile takes 100% of procesor.

What I do wrong, Any suggestions?

System information
Win2000, FPC 1.0.10, compile under FP IDE.
I set conditional directive FVISION.

Best regards,
Zb. Kuczbanski

Earlier message 59 lines
----- Original Message ----- From: "Marco van de Voort" To: Sent: Tuesday, September 16, 2003 5:31 PM Subject: [fpc-devel]Unix changes in 1.1 > (note: this only applies to the unix platforms) > > At the moment I'm rearranging the unix part of the 1.1 RTL. However > currently only cycle works for 1.1, I wait till fixing the building of FCL > and packages till I did some more cleaning up in the 1.1 RTL. > > This all will be done in complete and utter incompability with 1.0.x, so > that it is more compatible with C naming and typing. > > However for compability, the old linux unit is still somewhat available as > unit "oldlinux". Somewhat, since it is not entirely compatible either. > I advise to use the new 1.1 RTL as much as possible though in your projects. > IFDEF with > > {$ifndef VER1_0} ... 1.1+ code [$else} 1.0.x code {$endif} if you have to. > > While this may sound slightly negative, it isn't. The idea is to put a > somewhat portable, well designed. layered and clean base unix system as a > fundament for core services inside the RTL. > > The rough idea is that unit linux/unix is split up into a lot of units, and > the calls are cleaned up with respect to typing and naming, > To ease (multi architecture in 1.1!) porting and maintenance. However the > 1.0.x unit linux will roughly remain around for a while as init oldlinux. > > On this moment however oldlinux follows the ERRNO handling of Baseunix, > which is compatible with C. (1.0.x errorhandling is flakey, and works > differently). This will be fixed in the future. > > The POSIX (2003) part of the calls currently in linux/uni9x will move to > unit baseunix, have more unixy typing, and in general have a name that is > equal to their C name, prefixed with fp. > > The rest remains in principle in unit Unix for now, but will be cleaned up a > bit. > > Exceptions: > - the syscalls themselves will change prototype and move to unit syscall > Also their definition changes to a more procedural system, > no more linux specific "syscallreg" > - the x86 calls will move to unit x86. (e.g. port using) > > > > Comments, remarks, flames to me. > > _______________________________________________ > fpc-devel maillist - > http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply by email

Pavel V. Ozerski
to Zbigniew Kuczbanski

Hello,
After I replaced in t_win32.pas unit a line 698 - from

         exportsSection.concat(Tai_symbol.Create(edatalabel,0));

to

         exportsSection.concat(Tai_symbol.Create_Global(edatalabel,0));

the smartlinking of Win32 dlls main modules became possible again.

Sincerely, Pavel

Reply by email

Peter Vreman
to Pavel V. Ozerski
Show quoted text 7 lines
Hello, After I replaced in t_win32.pas unit a line 698 - from exportsSection.concat(Tai_symbol.Create(edatalabel,0)); to exportsSection.concat(Tai_symbol.Create_Global(edatalabel,0)); the smartlinking of Win32 dlls main modules became possible again.

Thanks, patch applied

Reply by email