[Issue 424] Unexpected OPTLINK Termination at EIP=0044C37B (too many fixups)

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Feb 10 16:03:50 PST 2009


http://d.puremagic.com/issues/show_bug.cgi?id=424





------- Comment #21 from someanon at yahoo.com  2009-02-10 18:03 -------
Actually even without such switch, the compiler should split the object files "
when there are more than 16,000 fixups in a single .obj" -- after all why the
compiler should generate such obj file, if the linker cannot link it, while the
compiler have all the necessary info to take the right action. (I would
consider this is a minor compiler bug in this sense ;-)

And if this happened with no user option specified, the compiler should also
print a friendly message, saying: "too many fixups, multiple object file
foo1.obj, foo2.obj ... fooN.obj generated, please modify your link command".


(In reply to comment #20)
> > Unfortunately I think the only real solution for this is a new linker.
> 
> I just thought there maybe a simple solution to implement: add a switch to the
> DMD compiler, e.g "-mo", means output multiple object files.
> 
> So for file foo.d the compiler will output 
> foo1.o
> foo2.o
> foo3.o 
> ....
> 
> each only contains a limited number of fixups, so in this way, the user can add
> all these object files to the linker command line. This should work.
> 
> What do you think? Walter?
> 


-- 



More information about the Digitalmars-d-bugs mailing list