This is the mail archive of the
libffi-discuss@sourceware.org
mailing list for the libffi project.
Re: Port to ARM Error: unknown pseudo-op: `.pad'
- From: "Bjoern Koenig" <bkoenig at alpha-tierchen dot de>
- To: "David Clark" <david dot clark at chtech dot com>
- Cc: libffi-discuss at sourceware dot org
- Date: Fri, 24 Oct 2008 08:44:35 +0200 (CEST)
- Subject: Re: Port to ARM Error: unknown pseudo-op: `.pad'
- References: <cb8cd8020810231544p3e9f33b8x15513a8a37bb8925@mail.gmail.com>
David Clark wrote:
> I'm attempting to cross-compile libffi to a ARM XScale PXA255.
> Configure succeeds but make fails with the following error:
>
> src/arm/sysv.S:239: Error: unknown pseudo-op: `.pad'
>
> I'm using libffi-3.0.6 source and gcc 3.3.2. As a test I commented
> out line 239 of sysv.S which reads ".pad #16" and it builds
> successfully.
>
> 1) Do you think this is a toolchain problem?
Yes.
> 2) An thoughts on a fix/workaround?
Either use a more recent binutils package where gas supports unwinding or
remove the line from sysv.S, as you did. I had this problem with FreeBSD
which comes with binutils 2.15 and doesn't support the 'pad' keyword among
others.
> 3) An hints on what this assembly code is doing and the potential for
> a patch? I don't know ARM assembly so I'd have to study a bit to feel
> comfortable enough to modify the assembly without breaking it.
The unwinding directives are necessary for exception handling of C++ code
for example. If you don't do this then you don't need it. With pure C you
won't run into trouble.
--
Björn König
taskit GmbH, Berlin, Germany
http://www.taskit.de/en/