mersenneforum.org  

Go Back   mersenneforum.org > Great Internet Mersenne Prime Search > Hardware

Reply
 
Thread Tools
Old 2003-09-13, 02:05   #23
dsouza123
 
dsouza123's Avatar
 
Sep 2002

2×331 Posts
Default

How was the MASM code used before for linux ?

The object files it could make were COFF format or some other format (? CV ?).

What compiler, linker was used ?
dsouza123 is offline   Reply With Quote
Old 2003-09-13, 11:50   #24
Dresdenboy
 
Dresdenboy's Avatar
 
Apr 2003
Berlin, Germany

16916 Posts
Default

I read in the makefiles that masm was used with options /c and /coff.

Unfortunately the latter one doesn't work for MASM 8.0.

I tried it with gcc 3.3

objcopy (x86-64 version) doesn't recognize the MASM 8.0 obj file.
Dresdenboy is offline   Reply With Quote
Old 2003-09-13, 15:23   #25
Prime95
P90 years forever!
 
Prime95's Avatar
 
Aug 2002
Yeehaw, FL

17·487 Posts
Default

Have you looked in the binutils config file to see if there is an entry for the new MASM object file format? (It sure would be nice if Microsoft told us what that format is!)
Prime95 is offline   Reply With Quote
Old 2003-09-13, 17:55   #26
Dresdenboy
 
Dresdenboy's Avatar
 
Apr 2003
Berlin, Germany

192 Posts
Default

Quote:
Originally posted by Prime95
Have you looked in the binutils config file to see if there is an entry for the new MASM object file format? (It sure would be nice if Microsoft told us what that format is!)
I searched the internet a bit but I found only a few occurences of that topic at all.. On some russian site I found a detailed description of the COFF and PE files plus some info on AMD64 specific things. The executable format for the latter is called PE32+.

I compared an obj file of MASM 7 with the one of MASM 8. They look very similar (path names, code and other things at the same locations) - only several section names like "_TEXT32" have changed.

In some binutils source for IA64 they mention COFF_WITH_PEP64. Maybe the file format for AMD64 is very similiar.
Dresdenboy is offline   Reply With Quote
Old 2003-09-15, 08:32   #27
Dresdenboy
 
Dresdenboy's Avatar
 
Apr 2003
Berlin, Germany

5518 Posts
Default

I'm currently downloading the whole Windows Platform SDK in the hope to get some detailed information about the new COFF/PE+ (or PE32+) formats.

Because I don't know if there will be some success in being able to convert ML64 generated obj files to some elf64 format, I'll also look into the possibility to make some small script which translates the assembly sources. It would even be possible to handle some cases where instructions or special instruction formats aren't supported in 64bit mode. And the final output could be edited and assembled more quickly than always having to convert the obj. files.
Dresdenboy is offline   Reply With Quote
Old 2003-09-15, 09:49   #28
Dresdenboy
 
Dresdenboy's Avatar
 
Apr 2003
Berlin, Germany

16916 Posts
Default

That's what I found in some Intel documentation:

New Portable Executable File Format (PE32+):

Win64* executables are almost identical to Win32* PE files, a few fields widened to 64 bit:
–Image Base, Stack and Heap sizes, Import Address Table entries


So it looks like only these widened fields (and some format ID bytes) changed. That's all what is preventing us from doing the conversion. It should be easily possible to change bfd to understand the new format. Some IA64 support is included but as I read somewhere else, it is just rudimentary support.
Dresdenboy is offline   Reply With Quote
Old 2003-09-16, 15:35   #29
lunna
 
Mar 2003

100002 Posts
Default

If you are looking for an assembler, there is YASM (http://www.tortall.net/projects/yasm/) too.

I have never ever written any Intel machine code, so I don't know if the feature list of that fits the bill. At least it has AMD64 support and a few different object files output options.
lunna is offline   Reply With Quote
Old 2003-09-16, 16:14   #30
Dresdenboy
 
Dresdenboy's Avatar
 
Apr 2003
Berlin, Germany

36110 Posts
Default

I've already planned to have a look at it when I find the time. Actually the most important feature besides AMD64 capabilities is to have similar possibilities of macro usage like in MASM.

As I read, NASM will also support AMD64 code some day and AMD internally already uses a modified NASM which knows the AMD64 ISA extensions.
Dresdenboy is offline   Reply With Quote
Old 2003-09-16, 20:40   #31
Prime95
P90 years forever!
 
Prime95's Avatar
 
Aug 2002
Yeehaw, FL

17·487 Posts
Default

I asked on the binutils mailing list if there would be support for MASM 8.0 object files. The answer was: "Yes - when someone submits acceptable code for it".
Prime95 is offline   Reply With Quote
Old 2003-09-17, 06:54   #32
Dresdenboy
 
Dresdenboy's Avatar
 
Apr 2003
Berlin, Germany

16916 Posts
Default

It seems, that we have to submit that code.

With the info I found about PE+/PE32+ it should be possible to convert that format into others.

But then I have to find out how to include it in bfd.
Dresdenboy is offline   Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
The bandwidth bottleneck is apparently much older than I thought Dubslow Hardware 5 2017-11-16 19:50
Opteron is Hyperthreaded ? bgbeuning Information & Answers 3 2016-01-10 08:26
Modular Inversion Bottleneck Sam Kennedy Programming 4 2013-01-25 16:50
AMD Athlon 64 vs AMD Opteron for ecm thomasn Factoring 6 2004-11-08 13:25
AMD Opteron naclosagc Software 27 2003-08-10 19:14

All times are UTC. The time now is 16:13.


Fri Jul 7 16:13:01 UTC 2023 up 323 days, 13:41, 0 users, load averages: 2.21, 1.63, 1.33

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.

≠ ± ∓ ÷ × · − √ ‰ ⊗ ⊕ ⊖ ⊘ ⊙ ≤ ≥ ≦ ≧ ≨ ≩ ≺ ≻ ≼ ≽ ⊏ ⊐ ⊑ ⊒ ² ³ °
∠ ∟ ° ≅ ~ ‖ ⟂ ⫛
≡ ≜ ≈ ∝ ∞ ≪ ≫ ⌊⌋ ⌈⌉ ∘ ∏ ∐ ∑ ∧ ∨ ∩ ∪ ⨀ ⊕ ⊗ 𝖕 𝖖 𝖗 ⊲ ⊳
∅ ∖ ∁ ↦ ↣ ∩ ∪ ⊆ ⊂ ⊄ ⊊ ⊇ ⊃ ⊅ ⊋ ⊖ ∈ ∉ ∋ ∌ ℕ ℤ ℚ ℝ ℂ ℵ ℶ ℷ ℸ 𝓟
¬ ∨ ∧ ⊕ → ← ⇒ ⇐ ⇔ ∀ ∃ ∄ ∴ ∵ ⊤ ⊥ ⊢ ⊨ ⫤ ⊣ … ⋯ ⋮ ⋰ ⋱
∫ ∬ ∭ ∮ ∯ ∰ ∇ ∆ δ ∂ ℱ ℒ ℓ
𝛢𝛼 𝛣𝛽 𝛤𝛾 𝛥𝛿 𝛦𝜀𝜖 𝛧𝜁 𝛨𝜂 𝛩𝜃𝜗 𝛪𝜄 𝛫𝜅 𝛬𝜆 𝛭𝜇 𝛮𝜈 𝛯𝜉 𝛰𝜊 𝛱𝜋 𝛲𝜌 𝛴𝜎𝜍 𝛵𝜏 𝛶𝜐 𝛷𝜙𝜑 𝛸𝜒 𝛹𝜓 𝛺𝜔