This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See crosstool-NG for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Multilib problem


Danny, list,

On Tue, Feb 4, 2014 at 11:26 AM, Danny Gale
<Daniel.Gale@coloradoengineeringinc.com> wrote:
> On 02/04/2014 11:29 AM, Bryan Hundven wrote:
>>
>> Danny,
>>
>> On Tue, Feb 4, 2014 at 9:44 AM, Danny Gale
>> <Daniel.Gale@coloradoengineeringinc.com> wrote:
>>>
>>> On 02/03/2014 06:12 PM, Bryan Hundven wrote:
>>>>
>>>> eh,
>>>>
>>>> On Mon, Feb 3, 2014 at 5:11 PM, Bryan Hundven <bryanhundven@gmail.com>
>>>> wrote:
>>>>>
>>>>> Danny, list,
>>>>>
>>>>> On Mon, Feb 3, 2014 at 5:08 PM, Bryan Hundven <bryanhundven@gmail.com>
>>>>> wrote:
>>>>>>
>>>>>> The notice in your email caused me some problems.
>>>>>>
>>>>>> My message was (with the notice removed):
>>>>>>
>>>>>> On Mon, Feb 3, 2014 at 5:04 PM, Bryan Hundven <bryanhundven@gmail.com>
>>>>>> wrote:
>>>>>>>
>>>>>>> Danny,
>>>>>>>
>>>>>>> On Mon, Feb 3, 2014 at 4:59 PM, Danny Gale
>>>>>>> <Daniel.Gale@coloradoengineeringinc.com> wrote:
>>>>>>>>
>>>>>>>> We do have another build system on top of CT-NG that pulls it down,
>>>>>>>> patches
>>>>>>>> it as necessary, and shoves our configration where it needs to be.
>>>>>>>> Those
>>>>>>>> tags you see, like [WORK_DIR], are replaced before we invoke CT-NG.
>>>>>>>
>>>>>>> Ah, ok. I'll look at the build log again :)
>>>>>>>
>>>>>>>> The arch-suffix of -e6500 results in "powerpc64-e6500-linux-gnu",
>>>>>>>> which
>>>>>>>> seems reasonable to me.
>>>>>>>
>>>>>>> You should use CT_TARGET_VENDOR instead.
>>>>>>>
>>>>>>>> On Monday, February 03, 2014 5:39:29 PM, Bryan Hundven wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Hello, Daniel, all,
>>>>>>>>>
>>>>>>>>> On Thu, Jan 23, 2014 at 2:37 PM, Danny Gale
>>>>>>>>> <Daniel.Gale@coloradoengineeringinc.com> wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Hi all,
>>>>>>>>>>
>>>>>>>>>> I've successfully compiled my powerpc64-e6500-linux-gnu toolchain!
>>>>>>>>>> Hooray!
>>>>>>>>>> :)
>>>>>>>>>>
>>>>>>>>>> Now, the trouble is that U-Boot doesn't support 64-bit powerpc
>>>>>>>>>> builds, so
>>>>>>>>>> the toolchain needs to have multilib enabled. The compiler itself
>>>>>>>>>> is
>>>>>>>>>> built
>>>>>>>>>> with no problem, but during the "Building for multilib
>>>>>>>>>> subdir='32'"
>>>>>>>>>> step,
>>>>>>>>>> the build fails with this error:
>>>>>>>>>> [ALL ] ../sysdeps/powerpc/powerpc64/start.S: Assembler messages:
>>>>>>>>>> [ALL ] ../sysdeps/powerpc/powerpc64/start.S:50: Error: reloc 1 not
>>>>>>>>>> supported by object file format
>>>>>>>>>> [ALL ] ../sysdeps/powerpc/powerpc64/start.S:51: Error: reloc 1 not
>>>>>>>>>> supported by object file format
>>>>>>>>>> [ALL ] ../sysdeps/powerpc/powerpc64/start.S:52: Error: reloc 1 not
>>>>>>>>>> supported by object file format
>>>>>>>>>>
>>>>>>>>>> Those lines in that file look like this:
>>>>>>>>>> /* function descriptors so don't need JUMPTARGET */
>>>>>>>>>> .quad BP_SYM(main)
>>>>>>>>>> .quad __libc_csu_init
>>>>>>>>>> .quad __libc_csu_fini
>>>>>>>>>>
>>>>>>>>>> Anybody know what this could be about, and how to fix it?
>>>>>>>>>>
>>>>>>>>>> My config and the tail of my log are attached.
>>>>>>>>>>
>>>>>>>>>> Thanks for your help,
>>>>>>>>>> Danny
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I have some questions about your configuration.
>>>>>>>>>
>>>>>>>>> In your attached config.txt, you have things like:
>>>>>>>>>
>>>>>>>>> CT_WORK_DIR="[WORK_DIR]"
>>>>>>>>>
>>>>>>>>> and an arch suffix "-e6500" (iow:
>>>>>>>>> -e6500powerpc64-unknown-linux-gnu)
>>>>>>>>> doesn't really make sense to me.
>>>>>>>>>
>>>>>>>>> I'm surprised this config works at all.
>>>>>>>>>
>>>>>>>>> Are you making this config with another external tool, such as
>>>>>>>>> buildroot or a custom wrapper script? That may make some of my
>>>>>>>>> confusion go away.
>>>>>>>>>
>>>>>>>>> -Bryan
>>>>>>>>>
>>>>>>>>> (PS, I have an updated config I'll post after I test it.)
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Danny Gale
>>>>>>>>> Engineer
>>>>>>
>>>>>> ...
>>>>>
>>>>> Beyond that, with the attached config, I got the same failure.
>>>>> I think Cody is right about the arch name in the tuple.
>>>>
>>>> Forgot to attach. I know that some of the settings are wrong, and I
>>>> need to add them from your build log, so: v1
>>>>
>>>>> I'm gonna poke at this for a second.
>>>>>
>>>>> -Bryan
>>>>>
>>>>>
>>>>> --
>>>>> For unsubscribe information see http://sourceware.org/lists.html#faq
>>>
>>> I've switched my configuration over to use the CT_TARGET_VENDOR instead
>>> of
>>> the arch-suffix for e6500. I had also been having problems with the
>>> CT_ARCH_TUNE setting, so I left it out.
>>
>> Right, arch-suffix is for say, you have an alpha64 gnu/linux toolchain
>> that is specifically for ev56.
>> The arch-suffix would be: "ev56"
>> So that the tuple would be: alpha64ev56-unknown-linux-gnu
>> (which is legit in config.sub)
>>
>> e5500 or e6500 would be the vendor (unknown in our alpha64 case). Just
>> as e500v2/e500mc is in their samples.
>> The vendor field is pretty arbitrary, but used by toolchain "vendors"
>> (you and me in this case) to identify between our powerpc-405 build
>> and our powerpc64-e500v2 build.
>>
>> Send a full build log (from when ct-ng starts to when it ends) so I
>> can see what flags are set in the beginning.
>>
>>> With regard to some of the settings I have in my configuration, gcc 4.7.2
>>> doesn't natively support the e6500 core. Freescale patched it to do so,
>>> and
>>> I'm using their patches. (They have a git repo here:
>>> http://git.freescale.com/git/cgit.cgi/ppc/sdk/gcc.git/ that I diffed
>>> against
>>> gnu gcc 4.7.2 to generate the patches). GCC introduced support for the
>>> e6500
>>> in 4.8.
>>
>> Good info! I always forget about freescale's git.
>> I'm looking at Cody and Ray's patches and a few build logs.
>> I have a few other multilib targets I want to test.
>>
>>> Thanks for all the help,
>>> Danny
>>
>> --
>> For unsubscribe information see http://sourceware.org/lists.html#faq
>>
>>
> Bryan,
>
> Here's the complete build log and accompanying configuration

After spending much time assessing the issue, I'm getting ICE
(strtold) with almost all of the freescale powerpc platforms with
gcc-4.8.x and binutils-2.24.
I can build powerpc-405-linux-gnu just fine. I'll need to look at
whats on the freescale git, but if we want this to work upstream, it
would be cool if you tried a config similar to mine and report the ICE
errors. I can't afford the time to do that.

If we can find a way to include the freescale changes some how, or add
documentation on how to add their code, that might be a good path.

-Bryan

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]