audio/faac is broken on all strict alignment architectures that use
gcc4.  The problem is the use of 

#pragma pack(push, 1)

which causes the members of faacEncStruct in frame.h to be misaligned.
There may be additional problems, but that's the one that causes
faacEncOpen() to bomb out right away.

(multimedia/libquicktime fails to build on sparc64 because configure
can't find a working libfaac due to the above.)

Ironically, faac appears to be fine on alpha where gcc3 doesn't
support this #pragma:

frame.h:154: warning: #pragma pack(pop[, id], <n>) is not supported on
this target

I encoded a test file on alpha.  No crash, no screetching noises,
seems okay.  Also, I don't see any reason to actually pack the
affected structs.  They all look like purely internal data structures.

I think we should just remove those pragmas from audio/faac, but
then I'm not really familiar with this port.  Opinions?

-- 
Christian "naddy" Weisgerber                          [email protected]

Reply via email to