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

See the CrossGCC FAQ 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: some questions of gcc-4.1.0/glibc-2.4 toolchain


I take a look at the URL you pointed. A question abou "system call
interface" section.

"One area affected by alignment/struct packing is the few system calls
that pass structures or 64-bit types. To solve this problem a new
kernel syscall interface has been introduced. EABI kernels have an
option to support the old syscall interface (including old structure
layout rules) for running non-EABI binaries. However some features
(eg. ALSA) do not have the necessary kernel shims, so will only work
correctly from EABI binaries.

Some third party EABI toolchains (eg. CodeSourcery 2005q3) use the old
kernel interface via userspace shims in glibc. This is now obsolete
and no longer supported by glibc. "

I suppose this show the following combination should be fine since
both kernel and alsa use EABI.

  gcc-4.1.0/glibc-2.4 toolchain
  kerenl-2.6.16 built with -mabi=aapcs-linux
  busybox-1.01 rootfs
  alsa lib and application built with -mabi=aapcs-linux

But the result is disappointing. When we run alsa aplay application,
below error appears. But If we use codesourcery 2005q3-2 toolchain to
built the kernel, the result is ok.

  ALSA lib pcm_params.c:2154:(snd_pcm_hw_refine_slave) Slave PCM not usable
  aplay: set_params: 860: Broken configuration for this PCM: no
configurations available

Does anyone have met such problems? Possible reason?

Another question is why we need use -mabi=aapcs-linux to build kernel
and application.
What's the difference of -mabi=aapcs and -mabi=aapcs-linux. There does
has difference in building kernel with these two options, but I
haven't got it.

On 4/27/06, Martin Guy <martinwguy@gmail.com> wrote:
Hi again
You will find a lot of answers to your questions in
http://wiki.debian.org/ArmEabiPort

> 1. How to support multiple abi?
There is an option in the kernel config

> 2. Which floating point is used?
EABI uses IEEE954 (754? 758? i forget) not FPA, as far as i understand.

M



--
best regards,
-Bridge

--
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]