| Thread overview | |||||||||
|---|---|---|---|---|---|---|---|---|---|
|
February 20, 2009 Re: OPTLINK needs to die. | ||||
|---|---|---|---|---|
| ||||
On Mon, Feb 16, 2009 at 7:27 PM, Jarrett Billingsley <jarrett.billingsley@gmail.com> wrote: > So byte[] (Chris Miller, sans R.) suggested that I suggest that we get a flag for the Windows version of DMD to output ELF objects. The ELF writer is already there. Why not just give us the option, and let us fend for ourselves? ;) | ||||
February 20, 2009 Re: OPTLINK needs to die. | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Jarrett Billingsley | Jarrett Billingsley wrote:
> So byte[] (Chris Miller, sans R.) suggested that I suggest that we get
> a flag for the Windows version of DMD to output ELF objects. The ELF
> writer is already there. Why not just give us the option, and let us
> fend for ourselves? ;)
There's more to it than that, such as the memory model. For example, are reals 10 bytes (Windows) or 12 (Linux) or 16 (OSX) ?
| |||
February 20, 2009 Re: OPTLINK needs to die. | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Thu, Feb 19, 2009 at 10:44 PM, Walter Bright <newshound1@digitalmars.com> wrote: > Jarrett Billingsley wrote: >> >> So byte[] (Chris Miller, sans R.) suggested that I suggest that we get a flag for the Windows version of DMD to output ELF objects. The ELF writer is already there. Why not just give us the option, and let us fend for ourselves? ;) > > There's more to it than that, such as the memory model. For example, are > reals 10 bytes (Windows) or 12 (Linux) or 16 (OSX) ? > So I'm assuming you have code like: #if USING_ELF real.alignof = 12; #elseif USING_OMF real.alignof = 10; #elseif USING_MACH_O real.alignof = 16; #endif So.. all you'd have to do is separate the "OS" logical decisions from the "object type" decisions. Or? | |||
February 20, 2009 Re: OPTLINK needs to die. | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Jarrett Billingsley | Jarrett Billingsley wrote:
> So.. all you'd have to do is separate the "OS" logical decisions from
> the "object type" decisions.
>
> Or?
Let me put it this way - I thought doing the mac port, which is stuff like that, would take a week. It took 6 weeks.
An elf output would be targeting a different C/C++ compiler ABI and runtime library. It's not terribly difficult, it's just time consuming and not trivial.
| |||
February 20, 2009 Re: OPTLINK needs to die. | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Thu, Feb 19, 2009 at 11:47 PM, Walter Bright <newshound1@digitalmars.com> wrote:
> Jarrett Billingsley wrote:
>>
>> So.. all you'd have to do is separate the "OS" logical decisions from the "object type" decisions.
>>
>> Or?
>
> Let me put it this way - I thought doing the mac port, which is stuff like that, would take a week. It took 6 weeks.
>
> An elf output would be targeting a different C/C++ compiler ABI and runtime library. It's not terribly difficult, it's just time consuming and not trivial.
>
But at the same time, the benefits are undeniable. s/ELF/any object format other than OMF/, and it still holds.
| |||
February 20, 2009 Re: OPTLINK needs to die. | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright Wrote:
> Let me put it this way - I thought doing the mac port, which is stuff like that, would take a week. It took 6 weeks.
... so we can expect a 64 bit dmd next week? <g>
| |||
February 20, 2009 Re: OPTLINK needs to die. | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Jarrett Billingsley | 在 Fri, 20 Feb 2009 12:59:17 +0800,Jarrett Billingsley <jarrett.billingsley@gmail.com> 写道: > On Thu, Feb 19, 2009 at 11:47 PM, Walter Bright > <newshound1@digitalmars.com> wrote: >> Jarrett Billingsley wrote: >>> >>> So.. all you'd have to do is separate the "OS" logical decisions from >>> the "object type" decisions. >>> >>> Or? >> >> Let me put it this way - I thought doing the mac port, which is stuff like >> that, would take a week. It took 6 weeks. >> >> An elf output would be targeting a different C/C++ compiler ABI and runtime >> library. It's not terribly difficult, it's just time consuming and not >> trivial. >> > > But at the same time, the benefits are undeniable. s/ELF/any object > format other than OMF/, and it still holds. I've got an idea is that DDL linker load everything, then a PE dump(a lot debugger plugin can do this) to create the binary with some little post patch. | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply