public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
* Built arm-none-eabi with multilib for x86_64-unkown-linux-gnu with crosstool-ng-1.14.0
@ 2012-02-01 14:11 Per Arnold Blaasmo
  2012-02-01 20:47 ` Yann E. MORIN
  0 siblings, 1 reply; 6+ messages in thread
From: Per Arnold Blaasmo @ 2012-02-01 14:11 UTC (permalink / raw)
  To: crossgcc

[-- Attachment #1: Type: text/plain, Size: 209 bytes --]

I managed to build arm-none-eabi with multilib for
x86_64-unkown-linux-gnu with crosstool-ng-1.14.0.

My .config file is attached.

Regards
Per A.

-- 
Per Arnold Blåsmo
Senior Design Engineer, Atmel Norway


[-- Attachment #2: .config --]
[-- Type: application/x-config, Size: 8993 bytes --]

[-- Attachment #3: Type: text/plain, Size: 71 bytes --]

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Built arm-none-eabi with multilib for x86_64-unkown-linux-gnu with crosstool-ng-1.14.0
  2012-02-01 14:11 Built arm-none-eabi with multilib for x86_64-unkown-linux-gnu with crosstool-ng-1.14.0 Per Arnold Blaasmo
@ 2012-02-01 20:47 ` Yann E. MORIN
  2012-02-02 11:15   ` Per Arnold Blaasmo
  0 siblings, 1 reply; 6+ messages in thread
From: Yann E. MORIN @ 2012-02-01 20:47 UTC (permalink / raw)
  To: crossgcc, Per-Arnold.Blaasmo

Per Arnold, All,

On Wednesday 01 February 2012 15:10:28 Per Arnold Blaasmo wrote:
> I managed to build arm-none-eabi with multilib for
> x86_64-unkown-linux-gnu with crosstool-ng-1.14.0.
> 
> My .config file is attached.

OK, I was able to rebuild it, and the compiler is indeed multi-lib aware.
But currently, newlib is compiled only for the default combination, and not
once for each multi-lib combinations, so the toolchain is not entirely
multi-lib.

1.14.0 has support for multi-lib only for glibc and eglibc, and neither for
newlib nor uClibc.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Built arm-none-eabi with multilib for x86_64-unkown-linux-gnu with crosstool-ng-1.14.0
  2012-02-01 20:47 ` Yann E. MORIN
@ 2012-02-02 11:15   ` Per Arnold Blaasmo
  2012-02-02 12:40     ` Trevor Woerner
  2012-02-02 13:01     ` Yann E. MORIN
  0 siblings, 2 replies; 6+ messages in thread
From: Per Arnold Blaasmo @ 2012-02-02 11:15 UTC (permalink / raw)
  To: crossgcc

On 01. feb. 2012 21:47, Yann E. MORIN wrote:
> Per Arnold, All,
> 
> On Wednesday 01 February 2012 15:10:28 Per Arnold Blaasmo wrote:
>> I managed to build arm-none-eabi with multilib for
>> x86_64-unkown-linux-gnu with crosstool-ng-1.14.0.
>>
>> My .config file is attached.
> 
> OK, I was able to rebuild it, and the compiler is indeed multi-lib aware.
> But currently, newlib is compiled only for the default combination, and not
> once for each multi-lib combinations, so the toolchain is not entirely
> multi-lib.
> 
> 1.14.0 has support for multi-lib only for glibc and eglibc, and neither for
> newlib nor uClibc.
> 
But according to Newlib FAQ:
-"Newlib, by default, builds "multilibs"."

- "When built, the compiler sets up a list of option permutations and a
set of directory names to place multilibs in. This information is
exposed externally via the "print-multi-lib" option which outputs the
list in a compact form. When the compiler is called to compile and link
an application, it recognizes multilib-designated options and knows
which versions of target libraries, such as newlib, to link with which
has been built with the same options"

-"When newlib is building, it simply invokes the compiler with the
-print-multi-lib option to get the set of multilibs it should create"

So I believed that since GCC and Binutils was built with --with-multilib
option that Newlib would just pick up that.

Regards
Per A.

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Built arm-none-eabi with multilib for x86_64-unkown-linux-gnu with crosstool-ng-1.14.0
  2012-02-02 11:15   ` Per Arnold Blaasmo
@ 2012-02-02 12:40     ` Trevor Woerner
  2012-02-02 12:57       ` Yann E. MORIN
  2012-02-02 13:01     ` Yann E. MORIN
  1 sibling, 1 reply; 6+ messages in thread
From: Trevor Woerner @ 2012-02-02 12:40 UTC (permalink / raw)
  To: crossgcc

On Thu, Feb 2, 2012 at 6:14 AM, Per Arnold Blaasmo
<per-arnold.blaasmo@atmel.com> wrote:
> So I believed that since GCC and Binutils was built with --with-multilib
> option that Newlib would just pick up that.

I built the arm-cortex_a8-linux-gnueabi sample and enabled multilib:

$ ./arm-cortex_a8-linux-gnueabi-gcc -v
Using built-in specs.
Target: arm-cortex_a8-linux-gnueabi
Configured with:
/home/trevor/devel/crosstool/1.14.0/work-area/arm-cortex_a8-linux-gnueabi/build/src/gcc-4.4.6/configure
--build=x86_64-build_unknown-linux-gnu
--host=x86_64-build_unknown-linux-gnu
--target=arm-cortex_a8-linux-gnueabi
--prefix=/home/trevor/devel/crosstool/1.14.0/x-tools/arm-cortex_a8-linux-gnueabi
--with-sysroot=/home/trevor/devel/crosstool/1.14.0/x-tools/arm-cortex_a8-linux-gnueabi/arm-cortex_a8-linux-gnueabi/sysroot
--enable-languages=c,c++ --with-arch=armv7-a --with-cpu=cortex-a8
--with-tune=cortex-a8 --with-float=soft
--with-pkgversion='crosstool-NG 1.14.0' --enable-__cxa_atexit
--disable-libmudflap --disable-libgomp --disable-libssp
--with-gmp=/home/trevor/devel/crosstool/1.14.0/work-area/arm-cortex_a8-linux-gnueabi/build/arm-cortex_a8-linux-gnueabi/build/static
--with-mpfr=/home/trevor/devel/crosstool/1.14.0/work-area/arm-cortex_a8-linux-gnueabi/build/arm-cortex_a8-linux-gnueabi/build/static
--with-ppl=/home/trevor/devel/crosstool/1.14.0/work-area/arm-cortex_a8-linux-gnueabi/build/arm-cortex_a8-linux-gnueabi/build/static
--with-cloog=/home/trevor/devel/crosstool/1.14.0/work-area/arm-cortex_a8-linux-gnueabi/build/arm-cortex_a8-linux-gnueabi/build/static
--with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic
-lm' --enable-threads=posix --enable-target-optspace --disable-nls
--enable-multilib
--with-local-prefix=/home/trevor/devel/crosstool/1.14.0/x-tools/arm-cortex_a8-linux-gnueabi/arm-cortex_a8-linux-gnueabi/sysroot
--enable-c99 --enable-long-long
Thread model: posix
gcc version 4.4.6 (crosstool-NG 1.14.0)

When I ask the compiler to list the multilibs I get:

$ ./arm-cortex_a8-linux-gnueabi-gcc -print-multi-lib
.;

I only have a little experience with multilib-enabled tools, but I
assume something is missing?

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Built arm-none-eabi with multilib for x86_64-unkown-linux-gnu with crosstool-ng-1.14.0
  2012-02-02 12:40     ` Trevor Woerner
@ 2012-02-02 12:57       ` Yann E. MORIN
  0 siblings, 0 replies; 6+ messages in thread
From: Yann E. MORIN @ 2012-02-02 12:57 UTC (permalink / raw)
  To: crossgcc; +Cc: Trevor Woerner

Trevor, All,

On Thursday 02 February 2012 13:40:28 Trevor Woerner wrote:
> I built the arm-cortex_a8-linux-gnueabi sample and enabled multilib:
[--SNIP--]
> When I ask the compiler to list the multilibs I get:
> 
> $ ./arm-cortex_a8-linux-gnueabi-gcc -print-multi-lib
> .;
> 
> I only have a little experience with multilib-enabled tools, but I
> assume something is missing?

I was not able to build a multi-lib ARM Linux EABI toolchain so far.

Looking at the code in gcc, it seems that all multi-lib definitions
are nuked-out for arm*-*-linux-*gnueabi tupples.

OTOH, the multi-lib _code_ in crosstool-NG works, as I was able to build a
Sparc multi-lib toolchain (but it required a few unrelated Leon patches to
gcc, so it is not available as a sample). Also, Per has submitted a working
bare-metal multi-lib ARM EABI sample yesterday, which means that the
multi-lib support (in crosstooll-NG) if operational.

Basically, it looks like the culprit here is, at least partially, in the gcc
code. It can also be the case that we incorrectly drive the gcc ./configure
and/or make, of course.

This is why I announced it a 'initial support for multi-lib'. The code path
is known to (rather more than less) work. Yes, I could have been more explicit
by stating that there were yet some issues and restrictions.

This means there are still some changes to do to make it ubiquitous, and that
will have to be done is the release cycle(s) to come.

Although I will be working on this on my side, it's not a top-priority for me.
So: patches and .config welcome! ;-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |   ^                |
| --==< O_o >==-- '------------.-------:  X  AGAINST      |  /e\  There is no  |
| http://ymorin.is-a-geek.org/ | (*_*) | / \ HTML MAIL    |  """  conspiracy.  |
'------------------------------'-------'------------------'--------------------'

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Built arm-none-eabi with multilib for x86_64-unkown-linux-gnu with crosstool-ng-1.14.0
  2012-02-02 11:15   ` Per Arnold Blaasmo
  2012-02-02 12:40     ` Trevor Woerner
@ 2012-02-02 13:01     ` Yann E. MORIN
  1 sibling, 0 replies; 6+ messages in thread
From: Yann E. MORIN @ 2012-02-02 13:01 UTC (permalink / raw)
  To: crossgcc, per-arnold.blaasmo

Per, All,

On Thursday 02 February 2012 12:14:55 Per Arnold Blaasmo wrote:
> But according to Newlib FAQ:
> -"Newlib, by default, builds "multilibs"."
> 
> - "When built, the compiler sets up a list of option permutations and a
> set of directory names to place multilibs in. This information is
> exposed externally via the "print-multi-lib" option which outputs the
> list in a compact form. When the compiler is called to compile and link
> an application, it recognizes multilib-designated options and knows
> which versions of target libraries, such as newlib, to link with which
> has been built with the same options"
> 
> -"When newlib is building, it simply invokes the compiler with the
> -print-multi-lib option to get the set of multilibs it should create"
> 
> So I believed that since GCC and Binutils was built with --with-multilib
> option that Newlib would just pick up that.

Indeed, I just checked that, and newlib did install its files in the different
multi-lib directories. Pretty good for newlib! :-)

I'll add this as a sample. Thanks for the heads-up!

Regards,
Yann E. MORIN.


-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |   ^                |
| --==< O_o >==-- '------------.-------:  X  AGAINST      |  /e\  There is no  |
| http://ymorin.is-a-geek.org/ | (*_*) | / \ HTML MAIL    |  """  conspiracy.  |
'------------------------------'-------'------------------'--------------------'

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-02-02 13:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-01 14:11 Built arm-none-eabi with multilib for x86_64-unkown-linux-gnu with crosstool-ng-1.14.0 Per Arnold Blaasmo
2012-02-01 20:47 ` Yann E. MORIN
2012-02-02 11:15   ` Per Arnold Blaasmo
2012-02-02 12:40     ` Trevor Woerner
2012-02-02 12:57       ` Yann E. MORIN
2012-02-02 13:01     ` Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).