Re: Overflown relocs in ghci
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 > 0x 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
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 0x 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
Overflown relocs in ghci
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