• 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: select$DARWIN_EXTSN$NOCANCEL vs select$DARWIN_EXTSN
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: select$DARWIN_EXTSN$NOCANCEL vs select$DARWIN_EXTSN


  • Subject: Re: select$DARWIN_EXTSN$NOCANCEL vs select$DARWIN_EXTSN
  • From: Mike Richmond <email@hidden>
  • Date: Tue, 04 Oct 2011 14:07:22 +0100


On 4 Oct 2011, at 11:35, Jean-Daniel Dupas wrote:


Le 4 oct. 2011 à 12:15, Mike Richmond a écrit :


On 3 Oct 2011, at 20:06, Jonas Maebe wrote:

On 03 Oct 2011, at 17:43, Mike Richmond wrote:

What I can't get to work though is building on 10.6 with the 10.4u SDK. In that case I note that select$DARWIN_EXTSN$NOCANCEL () is being called, whereas I think I want select$DARWIN_EXTSN() to be called (as I see when using the 10.5 and 10.6 SDKs).

The Mac OS X 10.4 version of libSystem contained only one version of select. It did not have a NOCANCEL version (nor even a DARWIN_EXTSN version, so I'm not sure why you think that version is being called).

There's only one version of select() when building on 10.4 with tools and SDKs from Xcode 2.4.1, but its behaviour varies dependent on whether I define _POSIX_C_SOURCE or not.


However when I build and run on 10.6 against the 10.4u SDK using GCC 4.0 from Xcode 3.2.x I see:

#0  0x9191a58a in select$DARWIN_EXTSN$NOCANCEL ()
#1  0x919b2c4b in select ()
#2  0x00001dce in timer_fn ()

and none of the defines mentioned in <http://developer.apple.com/ library/mac/#releasenotes/
Darwin/SymbolVariantsRelNotes/index.html> affect it. I was expecting defining _POSIX_C_SOURCE to make a difference, as it does when building on 10.4, but it doesn't.


cf building with GCC 4.2 against the 10.6 SDK:

#0  0x918fdac6 in select$DARWIN_EXTSN ()
#1  0x00001d06 in timer_fn ()
#2  0x9190c259 in _pthread_start ()

ISTM that there should be something I can define so that I get select$DARWIN_EXTSN when using the 10.4u SDK on 10.6, so that I can get the same behaviour as when I build on 10.4.


As already mentioned, there is only one version of select in 10.4 libSystem.
If you managed to generate a call to something else than select, when trying to run on 10.4, you will get a crash due to missing symbol.

Yes, I realise that there is only select() when running on 10.4. There I see:


#0  0x90019d0c in select ()
#1  0x00001dce in timer_fn ()

whether _POSIX_C_SOURCE is defined or not, but the definition of _POSIX_C_SOURCE affects the behaviour.

On 10.6 I was expecting to see a backtrace like:

#0  0x00007fff82efa932 in select$DARWIN_EXTSN ()
#1  0x00007fff82f76922 in select ()
#2  0x0000000100000c03 in timer_fn ()

when _POSIX_C_SOURCE is defined - this being from a 64-bit build, which behaves as I expect it to.

I've now found that whether I define _POSIX_C_SOURCE or not when building on 10.6 does make a difference when I take that app and run it on 10.4. What I can't do successfully is build and run a 32-bit app on 10.6 using the 10.4u SDK. The same app which runs correctly on 10.4 fails on 10.6.


Mike


_______________________________________________ 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
  • Follow-Ups:
    • Re: select$DARWIN_EXTSN$NOCANCEL vs select$DARWIN_EXTSN
      • From: Jean-Daniel Dupas <email@hidden>
References: 
 >Re: select$DARWIN_EXTSN$NOCANCEL vs select$DARWIN_EXTSN (From: Mike Richmond <email@hidden>)
 >Re: select$DARWIN_EXTSN$NOCANCEL vs select$DARWIN_EXTSN (From: Jean-Daniel Dupas <email@hidden>)

  • Prev by Date: Re: select$DARWIN_EXTSN$NOCANCEL vs select$DARWIN_EXTSN
  • Next by Date: Re: select$DARWIN_EXTSN$NOCANCEL vs select$DARWIN_EXTSN
  • Previous by thread: Re: select$DARWIN_EXTSN$NOCANCEL vs select$DARWIN_EXTSN
  • Next by thread: Re: select$DARWIN_EXTSN$NOCANCEL vs select$DARWIN_EXTSN
  • Index(es):
    • Date
    • Thread