diff --git a/0001-qxl_dev-Align-QXLRam-to-4-bytes.patch b/0001-qxl_dev-Align-QXLRam-to-4-bytes.patch new file mode 100644 index 0000000..c1d3253 --- /dev/null +++ b/0001-qxl_dev-Align-QXLRam-to-4-bytes.patch @@ -0,0 +1,75 @@ +From beda5ec7a6848be20c0cac2a9a8ef2a41e8069c1 Mon Sep 17 00:00:00 2001 +From: Frediano Ziglio +Date: Thu, 28 Jun 2018 21:30:21 +0100 +Subject: [PATCH] qxl_dev: Align QXLRam to 4 bytes + +This avoids compilers detect misaligned access which can lead to +warnings. +In QEMU the structure is allocated at the beginning of a 4Kb page, +in Xspice is allocated with a calloc, so the structure will end up 4 +bytes aligned as well with these users. We are not aware of other users +of QXLRam, but if there was, it's likely the struct would be at least +naturally aligned, so this change should not impact anyone. +Aligning to 4 bytes maintains the size of the structure unchanged +avoiding possible ABI changes. +clang currently generates an invalid function call if a misaligned +4 byte atomic operation is detected. + +This fixes https://bugzilla.redhat.com/show_bug.cgi?id=1565766 + +Signed-off-by: Frediano Ziglio +Acked-by: Christophe Fergeau +--- + spice/end-packed.h | 1 + + spice/qxl_dev.h | 2 +- + spice/start-packed.h | 2 ++ + 3 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/spice/end-packed.h b/spice/end-packed.h +index 1acea18..0efd588 100644 +--- a/spice/end-packed.h ++++ b/spice/end-packed.h +@@ -32,6 +32,7 @@ + /* See start-packed.h for details */ + + #undef SPICE_ATTR_PACKED ++#undef SPICE_ATTR_ALIGNED + + #if defined(__MINGW32__) || !defined(__GNUC__) + #pragma pack(pop) +diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h +index 9e753c4..a9cc4f4 100644 +--- a/spice/qxl_dev.h ++++ b/spice/qxl_dev.h +@@ -253,7 +253,7 @@ SPICE_RING_DECLARE(QXLReleaseRing, uint64_t, QXL_RELEASE_RING_SIZE); + #define QXL_INTERRUPT_CLIENT_MONITORS_CONFIG (1 << 5) + + /* qxl-1 compat: append only */ +-typedef struct SPICE_ATTR_PACKED QXLRam { ++typedef struct SPICE_ATTR_ALIGNED(4) SPICE_ATTR_PACKED QXLRam { + uint32_t magic; + uint32_t int_pending; + uint32_t int_mask; +diff --git a/spice/start-packed.h b/spice/start-packed.h +index ab3fa98..de0c595 100644 +--- a/spice/start-packed.h ++++ b/spice/start-packed.h +@@ -48,6 +48,7 @@ + #ifdef __GNUC__ + + #define SPICE_ATTR_PACKED __attribute__ ((__packed__)) ++#define SPICE_ATTR_ALIGNED(n) __attribute__ ((__aligned__ (n))) + + #ifdef __MINGW32__ + #pragma pack(push,1) +@@ -58,6 +59,7 @@ + #pragma pack(push) + #pragma pack(1) + #define SPICE_ATTR_PACKED ++#define SPICE_ATTR_ALIGNED(n) __declspec (align (n)) + #pragma warning(disable:4200) + #pragma warning(disable:4103) + +-- +2.17.1 + diff --git a/README.en.md b/README.en.md deleted file mode 100644 index d4deeb2..0000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# spice-protocol - -#### Description -{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**} - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md deleted file mode 100644 index 0dd3256..0000000 --- a/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# spice-protocol - -#### 介绍 -{**以下是码云平台说明,您可以替换此简介** -码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 -无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} - -#### 软件架构 -软件架构说明 - - -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx - -#### 使用说明 - -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 码云特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 -5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/spice-protocol-0.12.14.tar.bz2 b/spice-protocol-0.12.14.tar.bz2 new file mode 100644 index 0000000..3956ec1 Binary files /dev/null and b/spice-protocol-0.12.14.tar.bz2 differ diff --git a/spice-protocol.spec b/spice-protocol.spec new file mode 100644 index 0000000..96ae7ee --- /dev/null +++ b/spice-protocol.spec @@ -0,0 +1,34 @@ +Name: spice-protocol +Version: 0.12.14 +Release: 3 +Summary: Spice protocol header files +License: BSD and LGPLv2+ +URL: http://www.spice-space.org/ +Source0: http://www.spice-space.org/download/releases/%{name}-%{version}.tar.bz2 + +BuildArch: noarch +Patch1: 0001-qxl_dev-Align-QXLRam-to-4-bytes.patch + +%description +This package provides header files describing the spice protocol and +the para-virtual graphics card QXL. + +%prep +%autosetup -n %{name}-%{version} -p1 + +%build +%configure +make %{?_smp_mflags} + +%install +%make_install + +%files +%defattr(-,root,root) +%doc COPYING NEWS +%{_includedir}/spice-1/spice/*.h +%{_datadir}/pkgconfig/spice-protocol.pc + +%changelog +* Mon Dec 9 2019 openEuler Buildteam - 0.12.14-3 +- Package init