mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 23:20:55 +00:00
libomxil-bellagio: fix build failures against -fno-common compiler
On vanilla gcc-10 (and gcc-9 -fno-common) build fails as: ``` ../libtool --tag=CC --mode=link gcc ... -o libomxil-bellagio.la ... ld: .libs/libomxil_bellagio_la-omx_reference_resource_manager.o:(.bss+0x18): multiple definition of `globalIndex'; .libs/libomxil_bellagio_la-st_static_component_loader.o:(.bss+0x358): first defined here ``` Upstream gcc-10 changed the default from -fcommon to fno-common: https://gcc.gnu.org/PR85678. The error also happens if CFLAGS=-fno-common passed explicitly.
This commit is contained in:
parent
9270c06e73
commit
fb106ee08b
|
@ -12,7 +12,10 @@ stdenv.mkDerivation rec {
|
|||
configureFlags =
|
||||
lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "ac_cv_func_malloc_0_nonnull=yes" ];
|
||||
|
||||
patches = [ ./fedora-fixes.patch ];
|
||||
patches = [
|
||||
./fedora-fixes.patch
|
||||
./fno-common.patch
|
||||
];
|
||||
|
||||
doCheck = false; # fails
|
||||
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
Fix build faiure on gcc-10 (defaults to -fno-common).
|
||||
--- a/src/omx_reference_resource_manager.c
|
||||
+++ b/src/omx_reference_resource_manager.c
|
||||
@@ -30,6 +30,11 @@
|
||||
#include "base/omx_base_component.h"
|
||||
#include "queue.h"
|
||||
|
||||
+int globalIndex;
|
||||
+NameIndexType *listOfcomponentRegistered;
|
||||
+ComponentListType **globalComponentList;
|
||||
+ComponentListType **globalWaitingComponentList;
|
||||
+
|
||||
/**
|
||||
* This is the static base pointer of the list
|
||||
*/
|
||||
--- a/src/omx_reference_resource_manager.h
|
||||
+++ b/src/omx_reference_resource_manager.h
|
||||
@@ -49,10 +49,10 @@ struct NameIndexType {
|
||||
};
|
||||
|
||||
|
||||
-int globalIndex;
|
||||
-NameIndexType *listOfcomponentRegistered;
|
||||
-ComponentListType **globalComponentList;
|
||||
-ComponentListType **globalWaitingComponentList;
|
||||
+extern int globalIndex;
|
||||
+extern NameIndexType *listOfcomponentRegistered;
|
||||
+extern ComponentListType **globalComponentList;
|
||||
+extern ComponentListType **globalWaitingComponentList;
|
||||
|
||||
OMX_ERRORTYPE RM_RegisterComponent(char *name, int max_components);
|
||||
OMX_ERRORTYPE addElemToList(ComponentListType **list, OMX_COMPONENTTYPE *openmaxStandComp, int index, OMX_BOOL bIsWaiting);
|
Loading…
Reference in a new issue