Just to bring this one up-to-date -- Nathan Sidwell contributed
a BFD patch a couple of weeks ago which looks as if it fixes the
bug referred to below. So, once that fix percolates through to
a mingw release, this manual splitting up of object files should
be a thing of the past for GHC package builders on win32.

--sigbjorn

----- Original Message ----- 
From: "Sigbjorn Finne" <[EMAIL PROTECTED]>
To: "Pasch, Thomas (ACTGRO)" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Friday, October 24, 2003 15:17
Subject: Re: Overflown relocs in ghci


> Hi,
> 
> it looks as if you're running into a GNU ld/BFD bug
> where it emits bogus PE object files that have more than
> 0xffff relocations. The last time I looked this bug still
> wasn't fixed in the BFD codebase & there wasn't any
> noticeable interest in fixing it when I reported the bug
> a year or two ago.
> 
> The workaround is to split up the .o files that make up
> your package into two or more .o's, along the lines of
> how the "base" package does it.
> 
> hth
> --sigbjorn
> 
> Pasch, Thomas (ACTGRO) wrote:
> > Hello,
> > 
> > I'm working at the haskell-java bridge win32 port
> > (http://sourceforge.net/projects/jvm-bridge). I'm
> > using a recent MinGW installation and a ghc
> > 6.0.1. I can build tests in the Examples directory
> > without a problem. But when using ghci, I got
> > the following:
> > 
> > $ ghci -package javavm
> >    ___         ___ _
> >   / _ \ /\  /\/ __(_)
> >  / /_\// /_/ / /  | |      GHC Interactive, version 6.0.1, for
> > Haskell 98. / /_\\/ __  / /___| |      http://www.haskell.org/ghc/
> > \____/\/ /_/\____/|_|      Type :? for help.
> > 
> > Loading package base ... linking ... done.
> > Loading package lang ... linking ... done.
> > Loading package concurrent ... linking ... done.
> > Loading package haskell98 ... linking ... done.
> > Loading package javavm ... linking ... Overflown relocs: 4
> > done.
> > Prelude> :q
> > Leaving GHCi.
> > 
> > What does "Overflown relocs" mean? It seems to be
> > a problem, because when I try to load HelloWorld.hs:
> > 
> > Prelude> :load HelloWorld.hs
> > Skipping  Class_java_io_PrintStream ( Class_java_io_PrintStream.hs,
> > ./Class_java
> > _io_PrintStream.o )
> > Skipping  Class_java_lang_System ( Class_java_lang_System.hs,
> > ./Class_java_lang_
> > System.o )
> > Skipping  HelloWorld_JVM   ( HelloWorld_JVM.hs, ./HelloWorld_JVM.o )
> > Skipping  Main             ( HelloWorld.hs, ./HelloWorld.o )
> > Ok, modules loaded: Main, HelloWorld_JVM, Class_java_lang_System,
> > Class_java_io_
> > PrintStream.
> > Prelude Main> main
> > 
> > ./HelloWorld.o: unknown symbol `___stginit_HelloWorldzuJVM_'
> > 
> > Sincerly,
> > 
> > Thomas
> > 
> 
> _______________________________________________
> Glasgow-haskell-bugs mailing list
> [EMAIL PROTECTED]
> http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to