Where is the assembler's source code located? [SOLVED]

General FreeBASIC programming questions.
xX_Pokeman2003_Xx
Posts: 25
Joined: Mar 11, 2022 21:10

Where is the assembler's source code located? [SOLVED]

Post by xX_Pokeman2003_Xx »

For those of you curious on where the assembler source code is located, it's apart of the GNU Binutils. You can find them here. However, to save you time, if you're wanting to use pre-XP Windows to compile your programs, and DON'T want to compile your own custom version of Binutils read below. It's relevant to what you want, even if it'll take some digging to go find it. tl;dr:Go find the MinGORG build of the current FreeBasic version.
WOOOO! I DID IT! So it turns out, FB 1.09.0 actually DOES ship a version 100% compatible with Windows 2000, although you need to be careful about it.
This version would be the Win32 MinGORG build found here.
BE CAREFUL though, this build does contain a HUGE caveat:The linker doesn't have LFN support for some benign reason. Thankfully, Short File Names are 100% supported by the entirety of the suite, so that's not a problem at all, just feed it a SFN instead. You'll definitely want to automate your builds with a batch script(s) like I did. If you need to get the SFN to store in a set variable, a pretty easy command exists that you can run in the command prompt. Simply go to your folder in the command prompt, run the command for /d %A in ("%cd%") do @echo %~sA in cmd.exe, and it'll spit out your golden ticket.
Example:

Code: Select all

C:\Program Files (x86)\Steam\steamapps\common\Steamworks Shared>for /d %A in ("%cd%") do @echo %~sA
C:\PROGRA~2\Steam\STEAMA~1\common\STEAMW~1
For some reason, this doesn't work in a batch file, so you can't make it 100% portable(I know, disappointing.)

Oh, also the batch files I posted had a few bugs in them that needed to get ironed out. I finally fixed that, so here's my batch files for any others who want to template off of my success.
compile.bat (This was the buggy part)

Code: Select all

title Batch Compiler(Type %3)
REM OLD set fb="C:\Documents and Settings\Administrator\Desktop\Development\FreeBasic\FreeBASIC-1.09.0-winlibs-gcc-9.3.0\fbc32.exe"
set fb="C:\Documents and Settings\Administrator\Desktop\Development\FreeBasic\FBC\fbc.exe"
if "%4"=="" (set name=%2) else (set name=%4)
set name=%name:~1,-1%
set folder=%2
set folder=%folder:~1,-1%
set project=%1
set project=%project:~1,-1%
set direct=C:\DOCUME~1\ADMINI~1\Desktop\DEVELO~1\FREEBA~1\Projects\%project%
echo Compiling %1\%folder% with %name%...
if %3==0 goto DBGC
if %3==1 goto DBGG
if %3==2 goto DBGL
goto DBGC

:DBGC
echo Debug compilation for console application(T%3)...
echo %fb% -x "%direct%\built\%name%.exe" -i \shared\ -map "%direct%\built\%folder%.txt" -v -export -s console -O 0 "%direct%\%folder%\build.bas" 1>Norm.%2.log
%fb% -x "%direct%\built\%name%.exe" -i \shared\ -map "%direct%\built\%folder%.txt" -v -export -s console -O 0 "%direct%\%folder%\build.bas" 1>>Norm.%2.log 2>Err.%2.log
if %errorlevel% NEQ 0 (type Err.%2.log) else (type Norm.%2.log)
exit /b %errorlevel%
Compile Traverse Debug.bat

Code: Select all

@echo off
set project="FDF"
set file="traverse"
set type=0
set comp=0
set zip="C:\Program Files\7-Zip\7z.exe"
set storage="builds\%file:~1,-1%\%date:~10%\%date:~4,-4%\"
set archive=%time:~0,2%%time:~3,2%%time:~6,5%
mkdir %storage%
del *.log
rmdir built /s /q
mkdir built
echo %cd%
echo %time%, %date%
echo Compiling %file% for T%type%.
call ..\compile.bat %project% %file% %type%
echo Error:%errorlevel%
echo Storing contents in %storage% with archive name %archive%...
%zip% a -t7z %archive%.7z *.log
%zip% a -t7z -r %archive%.7z %file%\*.*
copy %archive%.7z %storage%
del *.7z
echo Complete!
pause
exit 
There is also some important information here about the true culprit. It's a dll known as libwinpthread-1.dll.
srvaldez wrote: May 12, 2022 1:08 the culprit is libwinpthread-1.dll which calls that missing function in kernel32.dll, the binutils are ok
you should be able to run fbc from the Windows Binaries (mingw-w64 gcc 8.1.0) package
I tried to install Windows 2000 on a VM but had a lot problems with it, I then tried FreeBasic on Windows 98 and got basically the same error except that it informed me that it was libwinpthread-1.dll making the call to the missing function
Original Post:
So now that I'm home, I have access to this Windows 2000 computer I like to work on because it's free from distraction and it's aesthetically pleasing, not to mention shockingly responsive. I decided I'd set FreeBasic 1.09.0 up on my trusty 2002 work computer, so I went to work doing just that. When it came time to compile my program...
as.exe - Entry Point Not Found
The procedure entry point AddVectoredExceptionHandler could not be located in the dynamic link library KERNEL32.dll.
Yeah, to say I'm livid right now is an understatement. Or it would be, if it weren't for my choice of music. Anyways, perfectly timed troll song in my programming playlist making me crack up aside, I need to know where the executable came from. I discovered through the .chm that as.exe is the included assembler, but it didn't include information on where it was from(the Freebasic repository or some other compiler.) Knowing where it came from, I could figure out how to modify and compile it to work on Windows 2000, and hopefully fix the mess.

Oh, here's the error log for your convenience. It was just a simple one liner hello world program.
FreeBASIC Compiler - Version 1.09.0 (2021-12-31), built for win32 (32bit)
Copyright (C) 2004-2021 The FreeBASIC development team.
standalone
target: win32, 486, 32bit
backend: gas
compiling: traverse\build.bas -o traverse\build.asm (main module)
assembling: C:\Documents and Settings\Administrator\Desktop\Development\FreeBasic\FreeBASIC-1.09.0-winlibs-gcc-9.3.0\bin\win32\as.exe --32 --strip-local-absolute "traverse\build.asm" -o "traverse\build.o"
assembling failed: 'C:\Documents and Settings\Administrator\Desktop\Development\FreeBasic\FreeBASIC-1.09.0-winlibs-gcc-9.3.0\bin\win32\as.exe' terminated with exit code 128
Last edited by xX_Pokeman2003_Xx on May 12, 2022 1:36, edited 2 times in total.
Plasma
Posts: 205
Joined: May 27, 2005 5:22
Location: Earth
Contact:

Re: Where is the assembler's source code located?

Post by Plasma »

as.exe is the GNU assembler (GAS), part of Binutils.

Try this one.
dodicat
Posts: 7976
Joined: Jan 10, 2006 20:30
Location: Scotland

Re: Where is the assembler's source code located?

Post by dodicat »

You can get these binutils from the news thread of the forum.

The MinGW-w64 toolchains used for the main win32/win64 builds can be found here:
winlibs-mingw-w64-i686-9.3.0-7.0.0-r3-sjlj.7z
winlibs-mingw-w64-x86_64-9.3.0-7.0.0-r3-sjlj.7z

If you expand either the 32 bit one or the 64 bit one you will get about 500 MB of files which are in effect a working MinGW distro.
If you set the bin folder on your system path you will have working gcc, g++, fortran and all the other utilities on a command window to use straight away. (This has nothing to do with freebasic at this stage)

But my old Win XP has no problems, my old XP (32 bits) does fine with freebasic 32 bits.
My old windows 98 failed with freebasic, I tested a couple of years ago.
So I don't know how windows 2000 will fare.
I would suggest "Auld Lang Syne" as the music to accompany your windows 2000.


Bye the way.
I see you are using the winFBE_suite.
This ide only supports above WinXP as far as I know.
Paul Squires may tell you better.
caseih
Posts: 2157
Joined: Feb 26, 2007 5:32

Re: Where is the assembler's source code located?

Post by caseih »

I'm gratified to see that @xX_Pokeman2003_Xx is willing to attempt try to modify AS to work on an ancient OS. Good luck with it. The last version of Binutils that I know could build on Windows 2000 is 2.17.50 from the mingw project archives. However building Binutils from source is no easy task. You need to have an already-working gcc compiler and binutils to bootstrap from. Here's some detailed instructions on the matter: https://www.aristeia.com/Misc/gcc4ForWindows.html. After this whole exercise, it's unknown whether this old of bintuils will even work with the output from FBC, though. Over the years many things have changed with regard to the binary intermediate forms. However it may be possible to use this old version of gcc and binutils to build a much newer version of binutils, and that has half a chance of working. Will be a ton of work, but sounds like fun.
xX_Pokeman2003_Xx
Posts: 25
Joined: Mar 11, 2022 21:10

Re: Where is the assembler's source code located?

Post by xX_Pokeman2003_Xx »

For the sake of not spamming this thread, I'm instead just going to put all of my replies into one post. Sorry for those who think it's improper etiquette on a forum.
Plasma wrote: May 11, 2022 8:11 as.exe is the GNU assembler (GAS), part of Binutils.

Try this one.
I'll give it a try. Thanks for the tip.
dodicat wrote: May 11, 2022 9:01 You can get these binutils from the news thread of the forum.

. . .

But my old Win XP has no problems, my old XP (32 bits) does fine with freebasic 32 bits.
My old windows 98 failed with freebasic, I tested a couple of years ago.
So I don't know how windows 2000 will fare.
I would suggest "Auld Lang Syne" as the music to accompany your windows 2000.


Bye the way.
I see you are using the winFBE_suite.
This ide only supports above WinXP as far as I know.
Paul Squires may tell you better.
Okay thanks, I'll keep that in mind. I thought I must've missed something when I looked over the news article, guess it was the BinUtils.

I know that XP works fine, but to completely cut out a lineage of pre-XP NT OSes was just bad manners on GNU's part. It's an assembler. Assemblers aren't complex at all and the entire idea is that they're one of the lowest programs you can write so you aren't punching in machine code. We went 52 years without needing such a kernel function in an assembler, I don't see why the hell the GNU programmers would suddenly need the ability to use vectored exception handling.
My agitation for this entire problem has come back now that I've had a night's rest, if you couldn't tell.

Er... how did you "figure this out?" Because, to perhaps your surprise, I am not using winFBE_suite. I'm just using the stuff out of the news article for 1.09.0. Was it because I mentioned the .chm?
caseih wrote: May 11, 2022 13:42 I'm gratified to see that @xX_Pokeman2003_Xx is willing to attempt try to modify AS to work on an ancient OS. Good luck with it. The last version of Binutils that I know could build on Windows 2000 is 2.17.50 from the mingw project archives. However building Binutils from source is no easy task. You need to have an already-working gcc compiler and binutils to bootstrap from. Here's some detailed instructions on the matter: https://www.aristeia.com/Misc/gcc4ForWindows.html. After this whole exercise, it's unknown whether this old of bintuils will even work with the output from FBC, though. Over the years many things have changed with regard to the binary intermediate forms. However it may be possible to use this old version of gcc and binutils to build a much newer version of binutils, and that has half a chance of working. Will be a ton of work, but sounds like fun.
Thanks for the luck, I'm going to need it, especially after I start tearing my hair out. My intention was to try to remove this from a modern version of Binutils, but now I think I have no chance of it. From what I've seen so far(I should make it clear I might be looking at the wrong source code, but I think I'm looking at the right one,) they made vectored exception handling pretty integral, and my knowledge for C is pretty surface level. Argh. Made a mistake trying to take this project.

My problem is not compiling Binutils, I can relatively easily do that from my Windows 10 computer, my problem is that vectored exception handling is an integral part of Binutils for no reason other than seemingly because "screw anyone who might be using Windows from a year before Windows XP even though this should definitely work on PCDOS if not CPM with no problems."
I have MANY words for the total farce that decided this and none of them I can say here without having my entire post censored or my account outright deleted. I don't think I've ever been so enraged by the design of software before.

I'll try to utilize a much older version of Binutils, but I suspect it's not going to work just due to the issues you mentioned yourself. We'll see though.
dodicat
Posts: 7976
Joined: Jan 10, 2006 20:30
Location: Scotland

Re: Where is the assembler's source code located?

Post by dodicat »

GNU assembler (GNU Binutils) 2.25 are in the 1.02.0 distribution.
I think this is as far back as freebasic offers them.
I guessed you were using winFBE by comparing compile logs
viz:

Code: Select all

WinFBE compile log:
FreeBASIC Compiler - Version 1.09.0 (2021-12-31), built for win32 (32bit)
Copyright (C) 2004-2021 The FreeBASIC development team.
standalone
target:       win32, 486, 32bit
backend:      gas
compiling:    C:\Users\Computer\Desktop\fb\WinFBE_Suite\TMP9F7A.bas -o C:\Users\Computer\Desktop\fb\WinFBE_Suite\TMP9F7A.asm (main module)
Restarting fbc ...
target:       win32, 486, 32bit
backend:      gas
compiling:    C:\Users\Computer\Desktop\fb\WinFBE_Suite\TMP9F7A.bas -o C:\Users\Computer\Desktop\fb\WinFBE_Suite\TMP9F7A.asm (main module)
assembling:   C:\Users\Computer\Desktop\fb\FreeBASIC-1.09.0-winlibs-gcc-9.3.0\\bin\win32\as.exe --32 --strip-local-absolute "C:\Users\Computer\Desktop\fb\WinFBE_Suite\TMP9F7A.asm" -o "C:\Users\Computer\Desktop\fb\WinFBE_Suite\TMP9F7A.o"



Your compile log:
FreeBASIC Compiler - Version 1.09.0 (2021-12-31), built for win32 (32bit)
Copyright (C) 2004-2021 The FreeBASIC development team.
standalone
target: win32, 486, 32bit
backend: gas
compiling: traverse\build.bas -o traverse\build.asm (main module)
assembling: C:\Documents and Settings\Administrator\Desktop\Development\FreeBasic\FreeBASIC-1.09.0-winlibs-gcc-9.3.0\bin\win32\as.exe --32 --strip-local-absolute "traverse\build.asm" -o "traverse\build.o"
assembling failed: 'C:\Documents and Settings\Administrator\Desktop\Development\FreeBasic\FreeBASIC-1.09.0-winlibs-gcc-9.3.0\bin\win32\as.exe' terminated with exit code 128 
They look very similar, and I am sure WinFBE won't handle Win 2000 anyway.
Try a different ide maybe before re compiling binutils.
If not WinFBE, how did you do your compile?
xX_Pokeman2003_Xx
Posts: 25
Joined: Mar 11, 2022 21:10

Re: Where is the assembler's source code located?

Post by xX_Pokeman2003_Xx »

dodicat wrote: May 11, 2022 15:51 GNU assembler (GNU Binutils) 2.25 are in the 1.02.0 distribution.
I think this is as far back as freebasic offers them.
I guessed you were using winFBE by comparing compile logs
viz:...

They look very similar, and I am sure WinFBE won't handle Win 2000 anyway.
Try a different ide maybe before re compiling binutils.
If not WinFBE, how did you do your compile?
I just tested the MingW binutils archive I tracked down, it didn't work. Fuuudge. Whose idea was this?
Err.traverse.log:
C:\DOCUME~1\ADMINI~1\Desktop\DEVELO~1\FREEBA~1\FREEBA~1.0\bin\win32\ld.exe:C:\Documents and Settings\Administrator\Desktop\Development\FreeBasic\FreeBASIC-1.09.0-winlibs-gcc-9.3.0\lib\win32\fbextra.x:13: syntax error
`
My IDE is standard Notepad and my compilation is a conjunction of a batch tool I wrote and a batch script.
compile.bat (the tool):

Code: Select all

title Batch Compiler(Type %3)
set fb="C:\Documents and Settings\Administrator\Desktop\Development\FreeBasic\FreeBASIC-1.09.0-winlibs-gcc-9.3.0\fbc32.exe"
if "%4"=="" (set name=%2) else (set name=%4)
set name=%name:~1,-1%
set folder=%2
set folder=%folder:~1,-1%
echo Compiling %1\%folder% with %name%...
cd %1
if %3==0 goto DBGC
if %3==1 goto DBGG
if %3==2 goto DBGL
goto DBGC

:DBGC
echo Debug compilation for console application(T%3)...
%fb% -x "built\%name%" -i \shared\ -map "\built\%folder%.txt" -v -export -s console -O 0 "%folder%\build.bas" 1>Norm.%2.log 2>Err.%2.log
if %errorlevel% NEQ 0 (type Err.%2.log) else (type Norm.%2.log)
exit /b %errorlevel%
Compile Traverse Debug.bat (the file to automate the compilation of a program named traverse)

Code: Select all

@echo off
set project="FDF"
set file="traverse"
set type=0
set comp=0
set zip="C:\Program Files\7-Zip\7z.exe"
set storage="builds\%file:~1,-1%\%date:~10%\%date:~4,-4%\"
set archive=%time:~0,2%%time:~3,2%%time:~6,5%
mkdir %storage%
echo %cd%
echo %time%, %date%
:compile0
echo Compiling %file% for T%type%.
call ..\compile.bat %project% %file% %type%
echo Error:%errorlevel%
if %errorlevel% NEQ 0 goto mediation
echo Storing contents in %storage% with archive name %archive%...
%zip% a -t7z %archive%.7z *.log
del *.log
%zip% a -t7z -r %archive%.7z %file%\*.*
copy %archive%.7z %storage%
del *.7z
echo Complete!
pause
exit 


:mediation
echo Whoopsies! A ***** wucky!
REM this is just a stub, actually make a mediation system here please.
pause
adeyblue
Posts: 299
Joined: Nov 07, 2019 20:08

Re: Where is the assembler's source code located?

Post by adeyblue »

Looks like you've gone too far in the other direction now. That LD sounds like it's too old to properly parse the FB linker script. Isn't retro computing fun?

The tools that come with FB 1.07 are both new enough to work with the linker script and old enough to run on as far back as NT4.
https://sourceforge.net/projects/fbc/fi ... p/download

The thing with GCC/binutils is that for Windows, they're essentially compiled by hobbyists who are just being nice. The problem with that is every one of those people builds them with a slightly different configuration and with slightly different versions of tools. For instance - the main MinGW-w64 compiled toolset that no-one really uses outside of msys2, builds them without any fancy features so even the most up to date tools run on old Windows but it builds them all as standalone exes so the total install size is much bigger (https://packages.msys2.org/package/ming ... po=mingw32).

The Winlibs Vectored exception tools you had problems with earlier were built to split out common functionality to reduce that total size, but in turn they build winpthreads with a 'name the threads' configuration option, and this requires throwing and catching an exception. And a vectored handler is the only way GCC built code can catch windows exceptions easily.
xX_Pokeman2003_Xx
Posts: 25
Joined: Mar 11, 2022 21:10

Where is the assembler's source code located? [SOLVED]

Post by xX_Pokeman2003_Xx »

WOOOO! I DID IT! So it turns out, FB 1.09.0 actually DOES ship a version 100% compatible with Windows 2000, although you need to be careful about it.
This version would be the Win32 MinGORG build found here.
BE CAREFUL though, this build does contain a HUGE caveat:The linker doesn't have LFN support for some benign reason. Thankfully, Short File Names are 100% supported by the entirety of the suite, so that's not a problem at all, just feed it a SFN instead. You'll definitely want to automate your builds with a batch script(s) like I did. If you need to get the SFN to store in a set variable, a pretty easy command exists that you can run in the command prompt. Simply go to your folder in the command prompt, run the command for /d %A in ("%cd%") do @echo %~sA in cmd.exe, and it'll spit out your golden ticket.
Example:

Code: Select all

C:\Program Files (x86)\Steam\steamapps\common\Steamworks Shared>for /d %A in ("%cd%") do @echo %~sA
C:\PROGRA~2\Steam\STEAMA~1\common\STEAMW~1
For some reason, this doesn't work in a batch file, so you can't make it 100% portable(I know, disappointing.)

Oh, also the batch files I posted had a few bugs in them that needed to get ironed out. I finally fixed that, so here's my batch files for any others who want to template off of my success.
compile.bat (This was the buggy part)

Code: Select all

title Batch Compiler(Type %3)
REM OLD set fb="C:\Documents and Settings\Administrator\Desktop\Development\FreeBasic\FreeBASIC-1.09.0-winlibs-gcc-9.3.0\fbc32.exe"
set fb="C:\Documents and Settings\Administrator\Desktop\Development\FreeBasic\FBC\fbc.exe"
if "%4"=="" (set name=%2) else (set name=%4)
set name=%name:~1,-1%
set folder=%2
set folder=%folder:~1,-1%
set project=%1
set project=%project:~1,-1%
set direct=C:\DOCUME~1\ADMINI~1\Desktop\DEVELO~1\FREEBA~1\Projects\%project%
echo Compiling %1\%folder% with %name%...
if %3==0 goto DBGC
if %3==1 goto DBGG
if %3==2 goto DBGL
goto DBGC

:DBGC
echo Debug compilation for console application(T%3)...
echo %fb% -x "%direct%\built\%name%.exe" -i \shared\ -map "%direct%\built\%folder%.txt" -v -export -s console -O 0 "%direct%\%folder%\build.bas" 1>Norm.%2.log
%fb% -x "%direct%\built\%name%.exe" -i \shared\ -map "%direct%\built\%folder%.txt" -v -export -s console -O 0 "%direct%\%folder%\build.bas" 1>>Norm.%2.log 2>Err.%2.log
if %errorlevel% NEQ 0 (type Err.%2.log) else (type Norm.%2.log)
exit /b %errorlevel%
Compile Traverse Debug.bat

Code: Select all

@echo off
set project="FDF"
set file="traverse"
set type=0
set comp=0
set zip="C:\Program Files\7-Zip\7z.exe"
set storage="builds\%file:~1,-1%\%date:~10%\%date:~4,-4%\"
set archive=%time:~0,2%%time:~3,2%%time:~6,5%
mkdir %storage%
del *.log
rmdir built /s /q
mkdir built
echo %cd%
echo %time%, %date%
echo Compiling %file% for T%type%.
call ..\compile.bat %project% %file% %type%
echo Error:%errorlevel%
echo Storing contents in %storage% with archive name %archive%...
%zip% a -t7z %archive%.7z *.log
%zip% a -t7z -r %archive%.7z %file%\*.*
copy %archive%.7z %storage%
del *.7z
echo Complete!
pause
exit 
dodicat
Posts: 7976
Joined: Jan 10, 2006 20:30
Location: Scotland

Re: Where is the assembler's source code located? [SOLVED]

Post by dodicat »

Yes, you have
GNU ar (GNU Binutils) 2.25.1
with that one.
You can turn down the music now.
xX_Pokeman2003_Xx
Posts: 25
Joined: Mar 11, 2022 21:10

Re: Where is the assembler's source code located? [SOLVED]

Post by xX_Pokeman2003_Xx »

dodicat wrote: May 11, 2022 22:49 Yes, you have GNU or (GNU Binutils) 2.25.1 with that one.
You can turn down the music now.
What a party pooper, I finally get to develop and you tell me to turn down my celebratory/programming music? :lol:
Yeah, sorry that I'm immature and didn't know better, I'm still new to FreeBasic among pretty much anything not scripting or ASM based. Hopefully I'll wise up with time, but it's unlikely, given how long I was left in ignorance on most things.
srvaldez
Posts: 3373
Joined: Sep 25, 2005 21:54

Re: Where is the assembler's source code located? [SOLVED]

Post by srvaldez »

the culprit is libwinpthread-1.dll which calls that missing function in kernel32.dll, the binutils are ok
you should be able to run fbc from the Windows Binaries (mingw-w64 gcc 8.1.0) package
I tried to install Windows 2000 on a VM but had a lot problems with it, I then tried FreeBasic on Windows 98 and got basically the same error except that it informed me that it was libwinpthread-1.dll making the call to the missing function
xX_Pokeman2003_Xx
Posts: 25
Joined: Mar 11, 2022 21:10

Re: Where is the assembler's source code located? [SOLVED]

Post by xX_Pokeman2003_Xx »

srvaldez wrote: May 12, 2022 1:08 the culprit is libwinpthread-1.dll which calls that missing function in kernel32.dll, the binutils are ok
you should be able to run fbc from the Windows Binaries (mingw-w64 gcc 8.1.0) package
I tried to install Windows 2000 on a VM but had a lot problems with it, I then tried FreeBasic on Windows 98 and got basically the same error except that it informed me that it was libwinpthread-1.dll making the call to the missing function
This is pertinent information to anyone trying to figure out what's going on, I'll add it to the top of my thread. Thank you sir.
caseih
Posts: 2157
Joined: Feb 26, 2007 5:32

Re: Where is the assembler's source code located? [SOLVED]

Post by caseih »

Just goes to show, be careful about pointing blame and ranting about developers (who release their work for free by the way) not wanting to support an old, unsupported, and obsolete OS.

At this point in time, it's not reasonable to expect any recent release of any software to run on Windows 2000. If it does it's entirely coincidental, because *no* developers are targeting Windows 2000. Why would they? In fact there's no legal way for any developer to get his hands on Windows 2000 even if he wanted to support that OS, besides all the other reasons.

Also bear in mind the FB developers are not targeting Windows 2000 either, or any version of Windows prior to Windows 8.1. It's not that FB needs or wants to target the latest and greatest. Rather it's that all the tools along the way move with the times, and carry FB and other projects with them. For example, the MS C Runtime, which FB requires.

And by the way, there are likely good reasons why libpthreads has moved to vectored exception handling. I can only guess that some of those reasons involved increased performance when switching threads and handling errors generated in the threads. It's quite reasonable, therefore, that pthreads has made this jump. Even if swapping out libwinpthread-1.dll does not work, you could potentially modify binutils to use the older pthreads api and compile against an older pthreads dll.

But sounds like it's working (for now)!
dodicat
Posts: 7976
Joined: Jan 10, 2006 20:30
Location: Scotland

Re: Where is the assembler's source code located? [SOLVED]

Post by dodicat »

It is nice to have backward compatibility.
Win XP is still used for some POS systems offline.
(I know one newsagent who uses it, and he knows others)
It is a really stable operating system.
Even DOS is still used for this, but of course freebasic has a DOS compiler anyway.
I never liked Win 2000 since I got the virut virus.
It even infected my pen drive which was stuck in at the time of infection.
I re installed win 2000, and stupidly stuck the pen drive back in.
I have a Windows 2000 Professional book, 734 pages with a cd included.
Anybody want it?
Post Reply