nixpkgs/pkgs/development/libraries/libomxil-bellagio/fno-common.patch
Sergei Trofimovich fb106ee08b 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.
2021-09-25 18:45:52 +01:00

32 lines
1.1 KiB
Diff

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);