This is the mail archive of the libffi-discuss@sourceware.org mailing list for the libffi project.


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: Port to ARM Error: unknown pseudo-op: `.pad'


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/


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