Windows 64 with gcc

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
digo_rp
Member
Member
Posts: 233
Joined: Sun Jun 05, 2005 11:00 pm

Windows 64 with gcc

Post by digo_rp »

guys I move to winxp x64 so now I got an error, windows says that I need to use 64bits version of gcc

I´m using djgpp

anyone knows any way to use other C compiler to compile my 32bits kernel under winxp64 ?
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Post by AJ »

Hi,

Not that I've tried it under XP64, but I think a Cygwin Cross-Compiler will be your friend here (I assume Cygwin works ok under Win64?).

Cheers,
Adam
User avatar
os64dev
Member
Member
Posts: 553
Joined: Sat Jan 27, 2007 3:21 pm
Location: Best, Netherlands

Post by os64dev »

gcc has no native 64bit support only in 32bit crosscompiler. In short it will not work, though i thought that xp64 could run 32bit processes.
Author of COBOS
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Post by AJ »

How about installing WinXP 32 bit on MS Virtual PC and having a shared folder? (half joking) :)

Cheers,
Adam
User avatar
JamesM
Member
Member
Posts: 2935
Joined: Tue Jul 10, 2007 5:27 am
Location: York, United Kingdom
Contact:

Post by JamesM »

Try it under cygwin.
User avatar
JAAman
Member
Member
Posts: 879
Joined: Wed Oct 27, 2004 11:00 pm
Location: WA

Post by JAAman »

JamesM wrote:Try it under cygwin.
exactly...

DJGPP is a 16bit program, and CPUs while running in 64bit mode, will work fine with 32bit programs, but not 16 bit programs
niteice
Member
Member
Posts: 59
Joined: Tue Oct 03, 2006 3:49 pm

Post by niteice »

Technically, the processor supports it, but Microsoft consciously chose to not support NTVDM under x64. Not a bad idea at all.
User avatar
bluecode
Member
Member
Posts: 202
Joined: Wed Nov 17, 2004 12:00 am
Location: Germany
Contact:

Post by bluecode »

niteice wrote:Technically, the processor supports it, [...].
You mean in long-mode? I was pretty sure the processor does not support that. :?
User avatar
Brynet-Inc
Member
Member
Posts: 2426
Joined: Tue Oct 17, 2006 9:29 pm
Libera.chat IRC: brynet
Location: Canada
Contact:

Post by Brynet-Inc »

16bit code cannot run natively in long mode....

It does seem reasonable that Microsoft would remove such a dated compatibility layer.. it's essentially a minimal x86 emulator right?
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Post by Combuster »

Apparently some people couldn't be bothered to read the documentation :cry:
The AMD Manual wrote:1.3.3 Compatibility Mode
Compatibility mode, a submode of long mode, allows system software to implement binary
compatibility with existing 16-bit and 32-bit x86 applications. It allows these applications to run,
without recompilation, under 64-bit system software in long mode, as shown in Table 1-1 on page 11.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
Brynet-Inc
Member
Member
Posts: 2426
Joined: Tue Oct 17, 2006 9:29 pm
Libera.chat IRC: brynet
Location: Canada
Contact:

Post by Brynet-Inc »

Learn something new every day... :wink:
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.
User avatar
JAAman
Member
Member
Posts: 879
Joined: Wed Oct 27, 2004 11:00 pm
Location: WA

Post by JAAman »

Combuster wrote:Apparently some people couldn't be bothered to read the documentation :cry:
The AMD Manual wrote:1.3.3 Compatibility Mode
Compatibility mode, a submode of long mode, allows system software to implement binary
compatibility with existing 16-bit and 32-bit x86 applications. It allows these applications to run,
without recompilation, under 64-bit system software in long mode, as shown in Table 1-1 on page 11.
and appearantly some people dont know the difference between 16bit PMode, and 16bit RMode -- when i said it was 16bit i intended to imply that it was real mode -- in LMode 16bit PMode is allowed, but not 16bit RMode

when you run DJGPP under windows, windows launches a VMode process to run it in... VMode cannot be used while in LMode...
Post Reply