This is the mail archive of the mailing list for the binutils 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: Smpeg MMX asm compilation (problem)

(whoops, used wrong email address, last time)
Thanks Brian - will look into all that - may even consider swapping over to libavcodec, at some point - but for the moment smpeg is easier and I don't have to write my own frame-timer routines, etc.
Thanks for the documentation, I've been trying to find something like that (perhaps my eyes were closed...).
Will look and see whether I can port the inline routines into what I'm doing, and get back to you all-

how do you call macros in GNU as?- I've tried copying examples from the
net but gas complains about the syntax.
Or do I need to be running the file through GCC instead to use the

Read section 3.1 of the manual.

A few more questions:
from mmxflags_asm.S:
What is .Lfe1?
Is it a register, a function call?

Neither. It's a label, because it ends in a colon. It is just a temporary label to use in computing the length of the cpu_flags function in the .size expression in the next line. The fact that is is named 'L' + some hex number implies that it is just a dummy label that was probably automatically generated.

Is there a table somewhere for all the different "@" types and their
respective int's (ie @object, @function, etc)?

Look at the documentation for .type in the manual, in section 7.

And I'm now looking at*checkout*/cvs/smpeg/video/mmxidct_asm.S?rev=1.7
which's even more complicated. How do I go about converting something
like this?

That's pretty ugly. There's lots of stuff in there that's ELF specific. For example, on windows, all code is PIC and there is no GOT. So that code will take more than a few changes to be portable to anything but ELF.

Have you considered that stuff like MMX IDCT routines for video decoding
is pretty much a solved problem? For example, take a look at how
libavcodec implments this. They use gcc's inline __asm__ () statements
(through defines in mmx.h) and don't bother themselves with platform
specific details that can be handled by the compiler and/or assembler. This code compiles and runs the same on both linux and mingw/windows.

but pages on differences between COFF/PE & ELF syntax are naught, and
COFF pages seem scarce- any useful URL's you have would be... useful?

Perhaps you need to read ?


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