Yes, I guess it is Apples version of as.

Bill.

On 3 December 2012 16:59, Jean-Pierre Flori <jpfl...@gmail.com> wrote:
>
>
> On Monday, December 3, 2012 5:55:38 PM UTC+1, Bill Hart wrote:
>>
>> The assembler here is gas, not yasm, and it doesn't allow GOT
>> addressing. Thus, I would say the system is not PIC capable.
>>
> You mean GNU as?
> I though all the GOT problem was that it understood @GOT but the Apple as
> (surely derivated from the previous one) did not.
>
>> It is possible to write the assembly files in another style which
>> doesn't require jumping into the middle of a loop, and that obviates
>> the need to use the GOT. But I wouldn't say that makes the system PIC
>> capable.
>>
>> Bill.
>>
>> On 3 December 2012 16:48, Jean-Pierre Flori <jpf...@gmail.com> wrote:
>> >
>> >
>> > On Monday, December 3, 2012 5:38:17 PM UTC+1, Bill Hart wrote:
>> >>
>> >> Well that certainly reveals one possible way around the problem, namely
>> >> to
>> >> preprocess the other needed files so they only follow the nopic path
>> >> then
>> >> put them in the applenopic directory.
>> >>
>> >>
>> >> I'm not sure why they aren't all there in the first place. If as you
>> >> say,
>> >> the files that are there are just preprocessed versions of the other
>> >> files,
>> >> then that doesn't make sense. But then, the applenopic directory also
>> >> makes
>> >> no sense in that case to me. Why not just fix the -DPIC thing in
>> >> aclocal.m4?
>> >>
>> > Maybe the idea was to create a directory without the bad files and only
>> > use
>> > this directory instead of the x86 one.
>> > I still insists but for me the PIC flag should only be used to decide
>> > wether
>> > we want PIC or not PIC flag, and that's a choice the user made.
>> > It should not be undefed by the build system to rule out the inclusion
>> > of
>> > files which will kill the assembler.
>> > And once again the problem is not the ability of producing PIC code, its
>> > really the ability of understanding a macro used by MPIR in a PIC
>> > branch: so
>> > I don't think that because in some PIC branch we don't understand some
>> > isntruction, then the solution is not to try at all.
>> > In that sense, what I feel the original purpose of the new applenopic
>> > directory was makes more sense.
>> >>
>> >> Bill.
>> >>
>> >> On Monday, 3 December 2012, Jean-Pierre Flori wrote:
>> >>>
>> >>>
>> >>>
>> >>> On Monday, December 3, 2012 5:06:43 PM UTC+1, Bill Hart wrote:
>> >>>>
>> >>>> Just to clarify, MPIR can pick up files from x86 even on Apple 32.
>> >>>> But
>> >>>> these all have alternative code paths depending whether -DPIC is
>> >>>> passed or
>> >>>> not. So -DPIC must not be passed on this system.
>> >>>
>> >>> Ok now I'm confused.
>> >>> What's the point of the applenopic directory?
>> >>> The files it contains are all exact copies  of the one from x86,
>> >>> except
>> >>> for some tuning parameters in headers, and for the fact that files
>> >>> which
>> >>> contains things depending on PIC are not present?
>> >>> It's true as well for the core2 subdirs.
>> >>>
>> >>> I though that the applenopic was then meant to completely replace the
>> >>> x86
>> >>> one.
>> >>> If the x86 one is looked at as fallback, the applenopic seems quite
>> >>> useless.
>> >>>>
>> >>>> The only correct fix here is to fix aclocal.m4 to not add -DPIC to
>> >>>> the
>> >>>> list of options on this system.
>> >>>>
>> >>>> Bill.
>> >>>>
>> >>>> On Monday, 3 December 2012, leif wrote:
>> >>>>>
>> >>>>> Jean-Pierre Flori wrote:
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> On Monday, December 3, 2012 3:55:50 PM UTC+1, Bill Hart wrote:
>> >>>>>>
>> >>>>>>     I assume you mean divexact_1.asm.
>> >>>>>>
>> >>>>>>     I don't think we set -DPIC anywhere, so I think this is an
>> >>>>>> autotools
>> >>>>>>     bug. How recent is the report? It might have been fixed by the
>> >>>>>> latest
>> >>>>>>     autotools upgrade that we did.
>> >>>>>>
>> >>>>>> It's quite recent, from a few days ago, been tested with MPIR 2.6.0
>> >>>>>> (and
>> >>>>>> 2.4.x with similar results).
>> >>>>>>
>> >>>>>> To make things clear :
>> >>>>>> - this is with mac os 10.4 and 5 running in 32 bits mode on 64 bit
>> >>>>>> intel
>> >>>>>> hardware, so there is no PPC involved here,
>> >>>>>> - we do not set PIC in the sage spkg, nor does MPIR itself, so it
>> >>>>>> seems
>> >>>>>> that some autotools magic decide to add it by default,
>> >>>>>
>> >>>>>
>> >>>>> Presumably.  The problem is (at least) that it gets passed to m4 as
>> >>>>> well.  [Not sure whether divexact_1 is incidentally just the *first*
>> >>>>> file
>> >>>>> (of probably a couple) Apple's as bails out.]
>> >>>>>
>> >>>>>> - the problem is that MPIR then wants to use the corresponding asm
>> >>>>>> files
>> >>>>>> with PIC defined and these files use the @GOT construction that
>> >>>>>> Apple's
>> >>>>>> AS in this Mac OSes does not understand
>> >>>>>
>> >>>>>
>> >>>>> Not sure.  Did you see his full log (i.e., the setting of MPN_PATH)?
>> >>>>>
>> >>>>> Note that there's no version of divexact_1 in the mpn/applenopic
>> >>>>> path,
>> >>>>> so [either mpn/x86/core2/divexact_1.asm or] mpn/x86/divexact_1.asm
>> >>>>> is
>> >>>>> chosen, no matter what.
>> >>>>>
>> >>>>> Both files contain conditional code, depending on the setting of the
>> >>>>> (m4) PIC macro.  The error is apparently caused by autotools passing
>> >>>>> -DPIC[=1] to *m4*.
>> >>>>>
>> >>>>>> Here is how we dealt with that before: delete all the problematic
>> >>>>>> asm
>> >>>>>> files, so that there is no @GOT anywhere and that did the trick.
>> >>>>>> According to Bill, and if I understood correctly, that should not
>> >>>>>> be
>> >>>>>> necessary because autotools should detect its building MPIR on Mac
>> >>>>>> OS
>> >>>>>> on
>> >>>>>> intel hardware and should choose the x86/applenopic subdirectory
>> >>>>>> rather
>> >>>>>> than the files from the x86 toplevel or say from the x86/core2
>> >>>>>> subdirectory which contain the @GOT construction.
>> >>>>>> But that does not seem to be the case, files from other directories
>> >>>>>> than
>> >>>>>> the applenopic one are picked up here.
>> >>>>>
>> >>>>>
>> >>>>> See above.  MPN_PATH (almost) always contains multiple directories,
>> >>>>> the
>> >>>>> files/implementations from the first which contains a
>> >>>>> file/implementation
>> >>>>> get chosen.
>> >>>>>
>> >>>>>> Not sure what to think of the PIC thing.
>> >>>>>> I guess it's quite natural that autotools tries to build PIC code
>> >>>>>> by
>> >>>>>> default if the system should be capable.
>> >>>>>> The problem here is really that it also chooses files in a wrong
>> >>>>>> directory and in the case of PIC code, the assembly files in this
>> >>>>>> directory contain instructions that the assembler does not
>> >>>>>> understand.
>> >>>>>
>> >>>>>
>> >>>>> Nope, I don't think so.  (That's at least not the case for
>> >>>>> divexact_1.)
>> >>>>>
>> >>>>>
>> >>>>> As a temporary hack for the spkg, we could just patch out the
>> >>>>> conditional "manually" (as if PIC was set to zero) when building on
>> >>>>> that
>> >>>>> platform.  Or invalidate -DPIC for m4 by other means... (m4-ccas
>> >>>>> script?)
>> >>>>>
>> >>>>> As mentioned, not sure whether it's just the *first* error Apple's
>> >>>>> as
>> >>>>> raises, but my guess is no.  [Passing -DPIC to GCC doesn't hurt I
>> >>>>> think, as
>> >>>>> it knows how to properly handle that.]
>> >>>>>
>> >>>>>
>> >>>>> -leif
>> >>>>>
>> >>>>> --
>> >>>>> () The ASCII Ribbon Campaign
>> >>>>> /\   Help Cure HTML E-Mail
>> >>>>>
>> >>>>> --
>> >>>>> You received this message because you are subscribed to the Google
>> >>>>> Groups "mpir-devel" group.
>> >>>>> To post to this group, send email to mpir-...@googlegroups.com.
>> >>>>> To unsubscribe from this group, send email to
>> >>>>> mpir-devel+...@googlegroups.com.
>> >>>>> For more options, visit this group at
>> >>>>> http://groups.google.com/group/mpir-devel?hl=en.
>> >>>>>
>> >

-- 
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to mpir-devel@googlegroups.com.
To unsubscribe from this group, send email to 
mpir-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en.

Reply via email to