This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ld: common symbols not allowed with MH_DYLIB output format with the -multi_module option


On Friday, June 10, 2005, at 02:48 PM, Mathieu Malaterre wrote:
Could someone please explain me what is going on?
You didn't use -fno-common.
Can someone please tell me then which one of the three possibilities is the right one:

#1. I need to tell the linker to use -single_module
#2. Rewrite the code to make a fake initialization
#3. I need to pass -fno-common to the compiler

#3.


Now compared to the linker option, at least the compiler flag I can specify it for the specific file I want, which is great. But then again why is this up to the user to do it ? Is there a performance reason ? Why isn't it the default ?

I refuse to answer that on that basis that marketing people might see my answer. :-) Let's just call it a `bug'.


How do other people do when porting *nix lib to MacOSX ? Is this is trial-and-error process to get the lib compiled ?

They use libtool, and it `knows' about -fno-common:


    darwin* | rhapsody*)
      # PIC is the default on this platform
      # Common symbols not allowed in MH_DYLIB files
      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
      ;;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]