|
forums.silverfrost.com Welcome to the Silverfrost forums
|
View previous topic :: View next topic |
Author |
Message |
DanRRight
Joined: 10 Mar 2008 Posts: 2818 Location: South Pole, Antarctica
|
Posted: Wed Feb 17, 2016 3:55 am Post subject: |
|
|
Please accelerate the release
Hope you are talking about true 64bit debugger, not the trick of scaling the task down to 32bit and use older 32bit debugger to find the error. That is totally unacceptable for me as scaling down the elephant to mosquito and then back |
|
Back to top |
|
|
silverfrost Site Admin
Joined: 29 Nov 2006 Posts: 191 Location: Manchester
|
Posted: Wed Feb 17, 2016 9:39 am Post subject: |
|
|
I have seen those elephant mosquitoes and they are impressive beasts |
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2818 Location: South Pole, Antarctica
|
Posted: Thu Feb 18, 2016 8:14 am Post subject: |
|
|
OK, but please do not leave from your sight while working on F64 that those are still a mosquitos, while we need the elephants |
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2818 Location: South Pole, Antarctica
|
Posted: Thu Mar 17, 2016 5:35 pm Post subject: |
|
|
one more month...
one+ year delay.
what the hell, Silverfrost? |
|
Back to top |
|
|
John-Silver
Joined: 30 Jul 2013 Posts: 1520 Location: Aerospace Valley
|
Posted: Mon Mar 21, 2016 8:36 am Post subject: |
|
|
I'm sure there'll still be mosquitos long after all the efalumps are deaded ! |
|
Back to top |
|
|
DietmarSiepmann
Joined: 03 Jun 2013 Posts: 279
|
Posted: Wed Mar 23, 2016 6:14 pm Post subject: Strange Behaviour Slink64 |
|
|
Hello,
having successfully ported some small Fortran applications (with and without a GUI) from 32 bit to 64 bit, we have tried to do the same for a bigger application, too. Because there is no way to produce static libraries in the 64 bit version of the SALFORD compile environment, we decided to create an object file for every of our libraries and link against these object files.
However, we ran into several proplems where slim64.exe produced an access violation at run time. One of these problems is the following.
Code: | IMPLICIT NONE
INTEGER*2 plus
INTEGER*2 a,b,res
a=1
b=2
res=plus(a,b)
write(*,*) 'a=',a,'b=',b,'res=',res
stop
end
function plus(x,y)
integer*2 x,y
integer*2 plus
plus=x+y
return
end
|
We compiled sample2 successfully using command
ftn95 sample2 /ALL_WARNINGS/NON_STANDARD/SINGLE_THREADED/OLD_ARRAYS/ALT_KINDS/PERSIST/ZEROISE/UNLIMITED_ERRORS/FIXED_FORMAT/SAVE/NO_WARN73/WIDE_SOURCE /CFPP /BINARY_folder SALFORD64 /64
, we linked using command
slink64 sample2.lnk
with file sample2. lnk loading the object file twice!
Link file sample2.lnk is Quote: | lo salford64\sample2
lo salford64\sample2
file salford64\sample2.exe |
This resulted in the runtime error mentioned above with error file
Quote: | Runtime error from program:c:\win32app\silverfrost_ftn95-8.00_beta.14\ftn95\slink64.exe
Access Violation
The instruction at address 00407515 attempted to read from location 00000018
00407464 build_exception_table(<ptr>char,<ptr>char,int) [+00b1]
004026e6 build_executable(void) [+1348]
00401000 main [+0b3d]
eax=0358a304 ebx=0000167f ecx=00000000
edx=0358a370 esi=0358a328 edi=00000002
ebp=0358a340 esp=0358a304 IOPL=1
ds=002b es=002b fs=0053
gs=002b cs=0023 ss=002b
flgs=00010293 [CA OP NZ NS DN NV]
00407515 mov esi,[ecx+0x18]
00407518 mov edx,[ebp+0x8]
0040751b mov [edx],esi |
The link could be executed successfully if deleting one of the load object statements in the link file sample2.lnk. However, it is very strange that slink64 results in a runtime error and does not produce an error message like "object loaded several times", e.g.
Moreover, when linking against libraries, in some cases we loaded special libraries several times. This forced us to filter the link files produced from our 32 build environment, creating link files where static libraries (*.lib) were substituted by object files (*.obj) and where there were no multiple loads. However, we then ran into the same runtime error when loading about 30 object files (being different in pairs) within slink64. And that is why we have created this entry.
We started with a link file loading several object files of the form
Quote: | salford64\filenname1.obj |
or
Quote: | ..\lib64\filename2.obj |
. We linked successfully in the sense that the runtime error mentioned above did not occur. Of cource we did not succeed in creating an exe file working correctly (we sometimes could create an executable ignoring unresolved symbols; however, when executing it we ran into problems where subroutines or functions were missing). Finally we added a first object file as the last of the load statements where the runtime error mentioned above occurred. Our first idea was that this object file (say sample.obj) was corrupted. But deleting some of the other object files made the linking step not produce the runtime error any more although sample.obj was loaded.
We have no idea of what has gone wrong and would appreciate any hint.
We should remark that we used the beta 3 version of the salford 64 bit compile enviroment.
Regards |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7927 Location: Salford, UK
|
Posted: Wed Mar 23, 2016 9:16 pm Post subject: |
|
|
Can you check that none of the object files has zero size.
There is a bug in the latest release that has now been fixed. |
|
Back to top |
|
|
DietmarSiepmann
Joined: 03 Jun 2013 Posts: 279
|
Posted: Thu Mar 24, 2016 10:00 am Post subject: Strange Behaviour Slink64 |
|
|
Paul,
I have checked the sizes of the object files involved and all object files involved have positive sizes.
Would it help installing the newest release? Both ftn95.exe and slink64.exe of the installation I currently use (beta 3) are dated to 03.01.2016.
If yes, could you please send me the corresponding link?
Thanks,
Dietmar |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7927 Location: Salford, UK
|
Posted: Thu Mar 24, 2016 1:35 pm Post subject: |
|
|
Dietmar
I can not get your sample to fail on my machine so I am assuming that the problem has gone away.
As far as I know beta 3 is the last release. Hopefully it won't be long before the next release if you can manage for now.
Paul |
|
Back to top |
|
|
DietmarSiepmann
Joined: 03 Jun 2013 Posts: 279
|
Posted: Thu Mar 24, 2016 6:18 pm Post subject: Strange Behaviour Slink64 |
|
|
Paul,
the major point of my request was that I cannot link against all the object files I would like to (because the linker creates an exception) and that this does not seem to be related to the object files involved.
Hence I stripped my application down and came to the point where I could create an executable again. However, this executable created an exception when calling seconds_since_1980@ concerning that routine get_time was missing.
File sample3.for shows the situation.
Code: | IMPLICIT NONE
real (kind=2) DT
character*1 C1
CALL SECONDS_SINCE_1980@(DT)
write(*,*) 'DT=',DT
!+ wait for input
read(*,*) C1
stop
end
|
Compiling this code to produce a 32 bit executable via command
Quote: | ftn95 sample3.for /link |
creates executable sample3.exe which works as expected. However, creating a 64 bit executable from the same code using command
Quote: | ftn95 /64 sample3.for /link |
results in a 64 bit executable sample3.exe which creates the exception mentioned above.
Regards,
Dietmar |
|
Back to top |
|
|
silicondale
Joined: 15 Mar 2007 Posts: 248 Location: Matlock, Derbyshire, UK
|
Posted: Fri Mar 25, 2016 6:32 pm Post subject: 64bit Clearwin+ ? |
|
|
I have an application using 32bit with Clearwin+
Just starting on an EU-funded R&D project which will standardise on 64bit applications (with other participants coding their apps in C++, C#, and C), and will need to add some new functionality. I would like to be able to port directly to a 64bit version. Is there yet a full 64bit version of Clearwin+ ?
If not, then I may have to bite the bullet and do a lot of re-coding using Visual Studio. I'd really rather not do this, as there seems quite a steep learning curve for someone who has never used VS before.
Alternatively I could just blag it and develop everything in 32bit, hoping nobody will notice! |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7927 Location: Salford, UK
|
Posted: Fri Mar 25, 2016 9:22 pm Post subject: |
|
|
Yes 64 bit ClearWin+ has been available for some time and is thoroughly tested. 64 bit FTN95 is at beta 3 release and the first full release is expected very soon. It is probably best for you to use 64 bit ClearWin+ with FTN95 but it can be used with third party compilers if necessary. |
|
Back to top |
|
|
silicondale
Joined: 15 Mar 2007 Posts: 248 Location: Matlock, Derbyshire, UK
|
Posted: Fri Mar 25, 2016 10:53 pm Post subject: |
|
|
Many thanks, Paul. Will purchase an update licence very soon. Need to get ducks in a row first. I plan to continue with your FTN95. Have been very happy with it so far, and especially with the responsive support! |
|
Back to top |
|
|
DietmarSiepmann
Joined: 03 Jun 2013 Posts: 279
|
Posted: Wed Mar 30, 2016 1:58 pm Post subject: GET_WKEY1@ missing? |
|
|
An application being ported from 32 bit to 64 bit makes use of function GET_WKEY1@. When linking this application with slink64 symbol GET_WKEY1@ is marked as not defined.
Is this function supported by the 64 bit ftn95 environment (beta 3)?
Regards,
Dietmar |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7927 Location: Salford, UK
|
Posted: Wed Mar 30, 2016 2:15 pm Post subject: |
|
|
Yes but previously it was hard-wired into the DLL and so did not need an interface. For the moment at least you will need an interface like...
C_EXTERNAL GET_WKEY1@ "__get_wkey1"():INTEGER*4 |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|