• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: thin linking: "file is not of required architecture"
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: thin linking: "file is not of required architecture"


  • Subject: Re: thin linking: "file is not of required architecture"
  • From: Simon Wilson <email@hidden>
  • Date: Mon, 21 Apr 2008 18:43:01 +0200


> A function call convention is generally something that the hardware specifies


Calling convention is compiler-defined rather than hardware defined. For example, Pascal and C implement opposite calling conventions with respect to:

a) parameter order on the stack (left-to-right or right-to-left)
b) whether caller or callee is responsible for popping arguments off stack after function return


Microsoft's 16 bit compilers used the Pascal calling convention for the Win16 API even though the predominant language for Win16 programming was C!

Even today, all Win32 APIs are declared using the __stdcall (derivative of the Pascal convention) while the C/C++ compiler generates __cdecl by default. This is irrespective of hardware platform the compiler is targeting.

Not sure how any of this relates to Xcode, but it's interesting anyway ;-)

Regards,
Simon

On Apr 21, 2008, at 17:37:39, Steve Checkoway wrote:

On Apr 21, 2008, at 8:01 AM, Philip Hölzenspies wrote:

With regards to the dylib/so discussion: I want to wash my hands of it. Our compiler uses BSD conventions. I'm not quite sure on the issue, but somehow I have this idea in the back of my mind that dylib defaults to objective-c calling conventions. I actually require ANSI-C calling conventions, because other stuff will be linked against my libs.

I haven't been following this at all, but I have no idea what you mean by bsd calling conventions vs. ansi-c calling conventions vs objective-c calling conventions. A function call convention is generally something that the hardware specifies. See <http://compilers.iecc.com/comparch/article/03-02-079 >.


The calling conventions for systems on which OS X is supported are described in <http://developer.apple.com/documentation/DeveloperTools/Conceptual/LowLevelABI/Introduction.html >.

Maybe you mean something else.

--
Steve Checkoway

   "Anyone who says that the solution is to educate the users
   hasn't ever met an actual user." -- Bruce Schneier




_______________________________________________ Do not post admin requests to the list. They will be ignored. Xcode-users mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden

_______________________________________________ Do not post admin requests to the list. They will be ignored. Xcode-users mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
References: 
 >thin linking: "file is not of required architecture" (From: Philip Hölzenspies <email@hidden>)
 >Re: thin linking: "file is not of required architecture" (From: Chris Espinosa <email@hidden>)
 >Re: thin linking: "file is not of required architecture" (From: Philip Hölzenspies <email@hidden>)
 >Re: thin linking: "file is not of required architecture" (From: Steve Checkoway <email@hidden>)

  • Prev by Date: Re: thin linking: "file is not of required architecture"
  • Next by Date: Re: Using STL strings and supporting 10.2.x
  • Previous by thread: Re: thin linking: "file is not of required architecture"
  • Next by thread: Re: thin linking: "file is not of required architecture"
  • Index(es):
    • Date
    • Thread