On Apr 26, 9:49 pm, "Justin C. Walker" <jus...@mac.com> wrote:
> I think you are violating your NDA with Apple.
I think the only detail I revealed that actually belongs to apple is
the version number of darwin 10 (and possibly a "version range" of
gcc). Since the last few version numbers have been 7, 8, and 9, I
don't think anybody will be too excited that the next one is 10. I
could be wrong, lawyers are lawyers. As far as they are concerned, you
don't even know if I used a copy of Snow: I could have simply seen the
bug and speculated that the pieces of code in question would fail in a
future release, then phrased everything as an assertion for
convenience's sake. Thanks for your concern, though :)

mabshoff wrote:
>> 2) GMP's config.guess fails to run its piece of assembly code to auto-
>> detect the CPU type because of some architectural issues (I think cc
>> is trying to link a multi-architecture object against a single
>> architecture object, failing silently, and declaring the CPU 32-bit
>> only). Again, from the sage-3.4.1 directory:
>
>I am not so sure about this fix. I guess it is CPU dependent. There is
>definitely an issue with detecting OSX running on Penryn correctly and
>that will be fixed in 3.4.2.
To avoid potential duplication of work, here is what I did:
Copied config.guess, cpuid.c, and whatever else those needed to work
onto my desktop and crippled config.guess so that it didn't remove
temporary files.
config.guess outputs two files, dummy-1234.s and dummy-1235.c, then
compiles them with cc. The compiled program outputs the CPU's true
architecture by reading its flags directly. This fails by default on
macs, I think because it tries to compile a 64 bit (or ppc?) version
and barfs at the pushl and popl instructions. The failure is silently
absorbed by config.guess which then takes a wild guess rather than an
educated guess, returning i686. My patch forces it to only compile the
dummy-whatever.s on ia32, which removes the failure and lets it take
an educated guess again. This should work in general, since we have
that the uname -m matches "i?86-*-*|x86_64-*-*" from the switch case
the code is in, and all the architectures I know that match that
pattern also support i386, unless you are supporting really early
architectures or 64 bit only CPUs. Tell me if I'm wrong (I would hate
to make bad assumptions in other places).

I'm looking forward to 3.4.2, I'll tell you how it goes. Even if it
does die on exit it would still be useful to me - I'd rather manually
kill it than run it in a VM :)
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to