[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 64-bit compilation and printfs
From: |
Dan Nicolaescu |
Subject: |
Re: 64-bit compilation and printfs |
Date: |
Wed, 14 Oct 2009 11:17:48 -0700 (PDT) |
Adrian Robert <address@hidden> writes:
> On Oct 14, 2009, at 12:40 PM, Dan Nicolaescu wrote:
>
> > It looks like this the 64-bit mode uses the 32-bit configuration file.
> > From configure.in:
> >
> > ## Apple Darwin / Mac OS X
> > *-apple-darwin* )
> > case "${canonical}" in
> > i[3456]86-* ) machine=intel386 ;;
> > powerpc-* ) machine=macppc ;;
> > * ) unported=yes ;;
> > esac
> >
> > there should be an:
> > x86_64-* ) machine=amdx86-64 ;;
> > in that "case".
> >
> > that will allow to remove this from emacs/src/s/intel386.h:
> >
> > #if defined (DARWIN_OS)
> > #ifdef _LP64
> > /* For Intel Mac, with CC='gcc -arch x86_64'. */
> > #define NO_ARG_ARRAY
> > #endif
> > #endif
> >
> > there shouldn't be any _LP64 checks in that file.
>
> OK, I'm adding the first and taking the second out. It hasn't fired
> in some time anyway as DARWIN_OS is not defined yet (machine file
> comes before system file in config.h).
>
> However, what is the purpose of the defining of START_FILES in
> amdx86-64.h? The default case is:
>
> #define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o
> #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtn.o
>
> None of those files are on OS X machines (not sure about non-OS X
> Darwin).
>
> I can exclude it under __APPLE__ but wanted to know why it was there
> first.
This is a convoluted mess, I'm wondering if anyone has a full
understanding of what is going on with all these flags.
It looks like you are defining START_FILES in darwin.h anyway, so
you can just leave it alone in amdx86-64.h.
Does LIBS_STANDARD get used at all on OS X? If not, just ignore it
(or #undefine it in darwin.h if it does...)