Add riscv64 support
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
This commit is contained in:
parent
921aaaef88
commit
90aeb01fe8
164
add-riscv64-support.patch
Normal file
164
add-riscv64-support.patch
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
diff -urN pegasus.old/mak/platform_LINUX_RISCV64_GNU.mak pegasus.new/mak/platform_LINUX_RISCV64_GNU.mak
|
||||||
|
--- pegasus.old/mak/platform_LINUX_RISCV64_GNU.mak 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ pegasus.new/mak/platform_LINUX_RISCV64_GNU.mak 2024-03-01 13:41:39.061839325 +0000
|
||||||
|
@@ -0,0 +1,36 @@
|
||||||
|
+#//%LICENSE////////////////////////////////////////////////////////////////
|
||||||
|
+#//
|
||||||
|
+#// Licensed to The Open Group (TOG) under one or more contributor license
|
||||||
|
+#// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
|
||||||
|
+#// this work for additional information regarding copyright ownership.
|
||||||
|
+#// Each contributor licenses this file to you under the OpenPegasus Open
|
||||||
|
+#// Source License; you may not use this file except in compliance with the
|
||||||
|
+#// License.
|
||||||
|
+#//
|
||||||
|
+#// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
+#// copy of this software and associated documentation files (the "Software"),
|
||||||
|
+#// to deal in the Software without restriction, including without limitation
|
||||||
|
+#// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
+#// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
+#// Software is furnished to do so, subject to the following conditions:
|
||||||
|
+#//
|
||||||
|
+#// The above copyright notice and this permission notice shall be included
|
||||||
|
+#// in all copies or substantial portions of the Software.
|
||||||
|
+#//
|
||||||
|
+#// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
+#// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
+#// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
+#// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
+#// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
+#// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
+#// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
+#//
|
||||||
|
+#//////////////////////////////////////////////////////////////////////////
|
||||||
|
+# Platform Configuration for Linux on PPC
|
||||||
|
+# If you have generic Linux config options, please place them in config-linux.mak
|
||||||
|
+
|
||||||
|
+include $(ROOT)/mak/config-linux.mak
|
||||||
|
+
|
||||||
|
+ARCHITECTURE = RISCV64
|
||||||
|
+CXX_MACHINE_OPTIONS =
|
||||||
|
+LINK_MACHINE_OPTIONS =
|
||||||
|
diff -urN pegasus.old/src/Pegasus/Common/Config.h pegasus.new/src/Pegasus/Common/Config.h
|
||||||
|
--- pegasus.old/src/Pegasus/Common/Config.h 2024-03-01 13:41:15.281485846 +0000
|
||||||
|
+++ pegasus.new/src/Pegasus/Common/Config.h 2024-03-01 13:42:22.162479987 +0000
|
||||||
|
@@ -102,6 +102,8 @@
|
||||||
|
# include <Pegasus/Common/Platform_LINUX_XSCALE_GNU.h>
|
||||||
|
#elif defined (PEGASUS_PLATFORM_LINUX_AARCH64_GNU)
|
||||||
|
# include <Pegasus/Common/Platform_LINUX_AARCH64_GNU.h>
|
||||||
|
+#elif defined (PEGASUS_PLATFORM_LINUX_RISCV64_GNU)
|
||||||
|
+# include <Pegasus/Common/Platform_LINUX_RISCV64_GNU.h>
|
||||||
|
#elif defined (PEGASUS_PLATFORM_LINUX_X86_64_CLANG)
|
||||||
|
# include <Pegasus/Common/Platform_LINUX_X86_64_CLANG.h>
|
||||||
|
#elif defined (PEGASUS_PLATFORM_LINUX_IX86_CLANG)
|
||||||
|
diff -urN pegasus.old/src/Pegasus/Common/Platform_LINUX_RISCV64_GNU.h pegasus.new/src/Pegasus/Common/Platform_LINUX_RISCV64_GNU.h
|
||||||
|
--- pegasus.old/src/Pegasus/Common/Platform_LINUX_RISCV64_GNU.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ pegasus.new/src/Pegasus/Common/Platform_LINUX_RISCV64_GNU.h 2024-03-01 13:41:39.061839325 +0000
|
||||||
|
@@ -0,0 +1,108 @@
|
||||||
|
+//%LICENSE////////////////////////////////////////////////////////////////
|
||||||
|
+//
|
||||||
|
+// Licensed to The Open Group (TOG) under one or more contributor license
|
||||||
|
+// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
|
||||||
|
+// this work for additional information regarding copyright ownership.
|
||||||
|
+// Each contributor licenses this file to you under the OpenPegasus Open
|
||||||
|
+// Source License; you may not use this file except in compliance with the
|
||||||
|
+// License.
|
||||||
|
+//
|
||||||
|
+// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
+// copy of this software and associated documentation files (the "Software"),
|
||||||
|
+// to deal in the Software without restriction, including without limitation
|
||||||
|
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
+// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
+// Software is furnished to do so, subject to the following conditions:
|
||||||
|
+//
|
||||||
|
+// The above copyright notice and this permission notice shall be included
|
||||||
|
+// in all copies or substantial portions of the Software.
|
||||||
|
+//
|
||||||
|
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
+// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
+// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
+// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
+// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
+//
|
||||||
|
+//////////////////////////////////////////////////////////////////////////
|
||||||
|
+//
|
||||||
|
+//%/////////////////////////////////////////////////////////////////////////////
|
||||||
|
+
|
||||||
|
+/*****************************************************************************
|
||||||
|
+ The platform configuration files in pegasus/src/Pegasus/Common/Platform_*.h
|
||||||
|
+ are intended to normalize platform/compiler differences so that Pegasus code
|
||||||
|
+ can be written to work on all platforms without requiring platform ifdefs.
|
||||||
|
+ Since these files are part of the Pegasus SDK, their contents should be
|
||||||
|
+ the minimum that achieves the stated purpose.
|
||||||
|
+
|
||||||
|
+ Examples of differences that are normalized here are support for C++
|
||||||
|
+ namespaces, 64-bit integer type, support for C++ template specialization.
|
||||||
|
+
|
||||||
|
+ Examples of things that are not appropriate in these files are the enablement
|
||||||
|
+ of Pegasus features for a specific platform and other build configuration.
|
||||||
|
+******************************************************************************/
|
||||||
|
+
|
||||||
|
+#ifndef Pegasus_Platform_LINUX_RISCV64_GNU_h
|
||||||
|
+#define Pegasus_Platform_LINUX_RISCV64_GNU_h
|
||||||
|
+
|
||||||
|
+#include <stddef.h>
|
||||||
|
+
|
||||||
|
+#define PEGASUS_OS_TYPE_UNIX
|
||||||
|
+
|
||||||
|
+#ifndef PEGASUS_PLATFORM_LINUX_GENERIC_GNU
|
||||||
|
+#define PEGASUS_PLATFORM_LINUX_GENERIC_GNU
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#define PEGASUS_OS_LINUX
|
||||||
|
+
|
||||||
|
+#define PEGASUS_POINTER_64BIT
|
||||||
|
+
|
||||||
|
+#define PEGASUS_COMPILER_GNU
|
||||||
|
+
|
||||||
|
+#define PEGASUS_UINT64 unsigned long long
|
||||||
|
+
|
||||||
|
+#define PEGASUS_SINT64 long long
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAVE_NAMESPACES
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAVE_FOR_SCOPE
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
|
||||||
|
+
|
||||||
|
+#ifndef _GNU_SOURCE
|
||||||
|
+#define _GNU_SOURCE
|
||||||
|
+#endif
|
||||||
|
+#ifndef _REENTRANT
|
||||||
|
+#define _REENTRANT
|
||||||
|
+#endif
|
||||||
|
+#define _THREAD_SAFE
|
||||||
|
+#include <features.h>
|
||||||
|
+#include <stdio.h>
|
||||||
|
+#include <stdlib.h>
|
||||||
|
+#include <sys/param.h> /* For MAXHOSTNAMELEN */
|
||||||
|
+#include <limits.h> /* _POSIX_HOST_NAME_MAX */
|
||||||
|
+
|
||||||
|
+#if (__GNUC__ >= 4)
|
||||||
|
+# define PEGASUS_EXPORT __attribute__ ((visibility("default")))
|
||||||
|
+# define PEGASUS_IMPORT __attribute__ ((visibility("default")))
|
||||||
|
+# define PEGASUS_HIDDEN_LINKAGE __attribute__((visibility("hidden")))
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAVE_PTHREADS
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAVE_NANOSLEEP
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAS_SIGNALS
|
||||||
|
+
|
||||||
|
+#define PEGASUS_INTEGERS_BOUNDARY_ALIGNED
|
||||||
|
+
|
||||||
|
+/* getifaddrs() avilable in gcc version >= 3.4 */
|
||||||
|
+#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4))
|
||||||
|
+# define PEGASUS_HAS_GETIFADDRS
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+/* use POSIX read-write locks on this platform */
|
||||||
|
+#define PEGASUS_USE_POSIX_RWLOCK
|
||||||
|
+
|
||||||
|
+#endif /* Pegasus_Platform_LINUX_RISCV64_GNU_h */
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
Name: tog-pegasus
|
Name: tog-pegasus
|
||||||
Version: %{major_ver}.1
|
Version: %{major_ver}.1
|
||||||
Release: 72%{?dist}
|
Release: 73%{?dist}
|
||||||
Epoch: 2
|
Epoch: 2
|
||||||
Summary: OpenPegasus WBEM Services for Linux
|
Summary: OpenPegasus WBEM Services for Linux
|
||||||
|
|
||||||
@ -108,6 +108,8 @@ Patch45: pegasus-2.14.1-add-pegwsmserver-to-ldd-libs.patch
|
|||||||
Patch46: pegasus-2.14.1-build-fixes-2.patch
|
Patch46: pegasus-2.14.1-build-fixes-2.patch
|
||||||
# 47: disable DES no longer supported in net-snmp
|
# 47: disable DES no longer supported in net-snmp
|
||||||
Patch47: pegasus-2.14.1-snmp-disable-des.patch
|
Patch47: pegasus-2.14.1-snmp-disable-des.patch
|
||||||
|
# 48: add RISC-V support
|
||||||
|
Patch48: add-riscv64-support.patch
|
||||||
|
|
||||||
BuildRequires: procps, libstdc++, pam-devel
|
BuildRequires: procps, libstdc++, pam-devel
|
||||||
BuildRequires: openssl, openssl-devel
|
BuildRequires: openssl, openssl-devel
|
||||||
@ -198,6 +200,9 @@ The OpenPegasus WBEM tests for the OpenPegasus %{version} Linux rpm.
|
|||||||
%ifarch aarch64
|
%ifarch aarch64
|
||||||
%global PEGASUS_HARDWARE_PLATFORM LINUX_AARCH64_GNU
|
%global PEGASUS_HARDWARE_PLATFORM LINUX_AARCH64_GNU
|
||||||
%endif
|
%endif
|
||||||
|
%ifarch riscv64
|
||||||
|
%global PEGASUS_HARDWARE_PLATFORM LINUX_RISCV64_GNU
|
||||||
|
%endif
|
||||||
|
|
||||||
%global PEGASUS_ARCH_LIB %{_lib}
|
%global PEGASUS_ARCH_LIB %{_lib}
|
||||||
%global OPENSSL_HOME /usr
|
%global OPENSSL_HOME /usr
|
||||||
@ -262,6 +267,7 @@ yes | mak/CreateDmtfSchema 238 %{SOURCE9} cim_schema_2.38.0
|
|||||||
%patch45 -p1 -b .add-pegwsmserver-to-ldd-libs
|
%patch45 -p1 -b .add-pegwsmserver-to-ldd-libs
|
||||||
%patch46 -p1 -b .build-fixes-2
|
%patch46 -p1 -b .build-fixes-2
|
||||||
%patch47 -p1 -b .snmp-disable-des
|
%patch47 -p1 -b .snmp-disable-des
|
||||||
|
%patch48 -p1 -b .add-riscv64-support
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -568,6 +574,9 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Mar 01 2024 misaka00251 <liuxin@iscas.ac.cn> - 2:2.14.1-73
|
||||||
|
- Add riscv64 support
|
||||||
|
|
||||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.14.1-72
|
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.14.1-72
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user