Public bug reported:

The file `include/OMX_Types.h` contains these lines:
```
/** OMX_U32 is a 32 bit unsigned quantity that is 32 bit word aligned */
typedef unsigned long OMX_U32;

/** OMX_S32 is a 32 bit signed quantity that is 32 bit word aligned */
typedef signed long OMX_S32;
```

These differ from the corresponding lines in the official OMX headers 
(https://www.khronos.org/registry/OpenMAX-IL/api/1.1.2/OpenMAX_IL_1_1_2_Header.zip):
```
/** OMX_U32 is a 32 bit unsigned quantity that is 32 bit word aligned */
typedef uint32_t OMX_U32;

/** OMX_S32 is a 32 bit signed quantity that is 32 bit word aligned */
typedef int32_t OMX_S32;
```

It's unclear where this difference originated, but it results in the
type `OMX_U32` being 64-bit on LP64 platforms, which produces an ABI
incompatibility with software built with the official headers using
correct types. I'd suggest replacing the headers in this package with
the upstream ones, and possibly moving the standard
`/usr/include/OMX_*.h` headers to their own package (`openmax-il-
headers`? `openmax-il-devel`?) rather than bundling them with the
Bellagio implementation.

** Affects: libomxil-bellagio (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1936441

Title:
  Fixed-sized 32-bit types are incorrect on LP64

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libomxil-bellagio/+bug/1936441/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to