Compare commits

...

10 Commits

Author SHA1 Message Date
openeuler-ci-bot
ac0d62929e
!31 使用判断语句支持clang
From: @shen-chenbang 
Reviewed-by: @Charlie_li 
Signed-off-by: @Charlie_li
2025-02-21 08:38:24 +00:00
shen-chenbang
f801ed387c 00 2024-09-27 11:06:50 +08:00
shen-chenbang
b78f2f53cb 00 2024-09-27 10:53:23 +08:00
shen-chenbang
bf148a84ac 00 2024-09-27 10:47:57 +08:00
openeuler-ci-bot
bf36719254
!19 first check if Valgrind supports the build architecture
From: @yinist 
Reviewed-by: @Charlie_li 
Signed-off-by: @Charlie_li
2024-07-10 13:21:57 +00:00
Yinsist
439fadafb5 first check if Valgrind supports the build architecture 2024-04-29 14:00:46 +00:00
openeuler-ci-bot
cac00714cf
!17 Upgrade to 8.2.2.2
From: @lyn1001 
Reviewed-by: @zhangwenlong01, @laokz, @starlet-dx 
Signed-off-by: @starlet-dx
2024-02-27 06:09:58 +00:00
lyn1001
5d0e2d7fe6 Upgrade to 8.2.2.2 2024-02-27 09:26:34 +08:00
openeuler-ci-bot
42e6206657
!15 Upgrade to 6.2.9.7
From: @gifthu 
Reviewed-by: @starlet-dx 
Signed-off-by: @starlet-dx
2023-10-16 02:16:20 +00:00
huxintao
d2f2d62a4b Upgrade to 6.2.9.7
Change-Id: I6f02b7aca2b65941d07d3b4914fc87ed9e6619ff
2023-10-16 09:47:01 +08:00
8 changed files with 294 additions and 137 deletions

View File

@ -12,7 +12,7 @@ diff --git a/utils/uds/atomicDefs.h b/utils/uds/atomicDefs.h
index 0aad609..f468369 100644
--- a/utils/uds/atomicDefs.h
+++ b/utils/uds/atomicDefs.h
@@ -96,6 +96,8 @@ static INLINE void smp_mb(void)
@@ -97,6 +97,8 @@
__asm__ __volatile__("bcr 14,0" : : : "memory");
#elif defined __PPC__
__asm__ __volatile__("sync" : : : "memory");
@ -21,7 +21,7 @@ index 0aad609..f468369 100644
#else
#error "no fence defined"
#endif
@@ -121,6 +123,8 @@ static INLINE void smp_rmb(void)
@@ -122,6 +124,8 @@
__asm__ __volatile__("bcr 14,0" : : : "memory");
#elif defined __PPC__
__asm__ __volatile__("lwsync" : : : "memory");
@ -30,7 +30,7 @@ index 0aad609..f468369 100644
#else
#error "no fence defined"
#endif
@@ -146,6 +150,8 @@ static INLINE void smp_wmb(void)
@@ -147,6 +151,8 @@
__asm__ __volatile__("bcr 14,0" : : : "memory");
#elif defined __PPC__
__asm__ __volatile__("lwsync" : : : "memory");
@ -39,15 +39,6 @@ index 0aad609..f468369 100644
#else
#error "no fence defined"
#endif
@@ -172,7 +178,7 @@ static INLINE void smp_mb__before_atomic(void)
static INLINE void smp_read_barrier_depends(void)
{
#if defined(__x86_64__) || defined(__PPC__) || defined(__s390__) \
- || defined(__aarch64__)
+ || defined(__aarch64__) || defined(__loongarch64)
// Nothing needed for these architectures.
#else
// Default to playing it safe.
diff --git a/utils/uds/cpu.h b/utils/uds/cpu.h
index 6549f6e..e26d653 100644
--- a/utils/uds/cpu.h
@ -58,9 +49,6 @@ index 6549f6e..e26d653 100644
#define CACHE_LINE_BYTES 256
-#elif defined(__x86_64__) || defined(__aarch64__)
+#elif defined(__x86_64__) || defined(__aarch64__) || defined(__loongarch64)
#define CACHE_LINE_BYTES 64
#define CACHE_LINE_BYTES 64
#else
#error "unknown cache line size"
--
2.33.0

View File

@ -1,38 +0,0 @@
From a85f6e9973697f90d11e9beb1eb16206774e4767 Mon Sep 17 00:00:00 2001
From: "Christopher N. Hesse" <raymanfx@gmail.com>
Date: Wed, 3 Apr 2019 22:24:29 +0200
Subject: [PATCH 2/2] Ignore misaligned pointers
Signed-off-by: Christopher N. Hesse <raymanfx@gmail.com>
---
utils/vdo/base/Makefile | 1 +
utils/vdo/user/Makefile | 1 +
2 files changed, 2 insertions(+)
diff --git a/utils/vdo/base/Makefile b/utils/vdo/base/Makefile
index 4f2ed82..6d4c4e8 100644
--- a/utils/vdo/base/Makefile
+++ b/utils/vdo/base/Makefile
@@ -46,6 +46,7 @@ C_WARNS = \
-Wnested-externs \
-Wold-style-definition \
-Wswitch-default \
+ -Wno-address-of-packed-member \
OPT_FLAGS = -O3 -fno-omit-frame-pointer
DEBUG_FLAGS =
diff --git a/utils/vdo/user/Makefile b/utils/vdo/user/Makefile
index b0a60d0..811dd8a 100644
--- a/utils/vdo/user/Makefile
+++ b/utils/vdo/user/Makefile
@@ -48,6 +48,7 @@ C_WARNS = \
-Wnested-externs \
-Wold-style-definition \
-Wswitch-default \
+ -Wno-address-of-packed-member \
OPT_FLAGS = -O3 -fno-omit-frame-pointer
DEBUG_FLAGS =
--
2.21.0

View File

@ -0,0 +1,12 @@
diff -Naur vdo-1cf3a0b44e81d61d4a0ff8193211ad1297fefa69.orig/utils/vdo/Makefile vdo-1cf3a0b44e81d61d4a0ff8193211ad1297fefa69/utils/vdo/Makefile
--- vdo-1cf3a0b44e81d61d4a0ff8193211ad1297fefa69.orig/utils/vdo/Makefile 2021-05-04 08:26:42.000000000 +0000
+++ vdo-1cf3a0b44e81d61d4a0ff8193211ad1297fefa69/utils/vdo/Makefile 2021-06-01 17:05:02.117033793 +0000
@@ -150,7 +150,7 @@
$(CC) $(LDFLAGS) $^ $(LDPRFLAGS) -o $@
vdoformat: LDPRFLAGS += "-lblkid"
-vdodmeventd: LDPRFLAGS += "-ldevmapper-event"
+vdodmeventd: LDPRFLAGS += -ldevmapper -ldevmapper-event
ifneq ($(MAKECMDGOALS),clean)
DEPSOURCES = $(wildcard *.c)

View File

@ -2,7 +2,7 @@ diff --git a/utils/uds/atomicDefs.h b/utils/uds/atomicDefs.h
index f468369..673f974 100644
--- a/utils/uds/atomicDefs.h
+++ b/utils/uds/atomicDefs.h
@@ -98,6 +98,8 @@ static INLINE void smp_mb(void)
@@ -99,6 +99,8 @@
__asm__ __volatile__("sync" : : : "memory");
#elif defined __loongarch64
__asm__ __volatile__("dbar 0" : : : "memory");
@ -11,7 +11,7 @@ index f468369..673f974 100644
#else
#error "no fence defined"
#endif
@@ -125,6 +127,8 @@ static INLINE void smp_rmb(void)
@@ -126,6 +128,8 @@
__asm__ __volatile__("lwsync" : : : "memory");
#elif defined __loongarch64
__asm__ __volatile__("dbar 0" : : : "memory");
@ -20,7 +20,7 @@ index f468369..673f974 100644
#else
#error "no fence defined"
#endif
@@ -152,6 +156,8 @@ static INLINE void smp_wmb(void)
@@ -153,6 +157,8 @@
__asm__ __volatile__("lwsync" : : : "memory");
#elif defined __loongarch64
__asm__ __volatile__("dbar 0" : : : "memory");
@ -29,15 +29,6 @@ index f468369..673f974 100644
#else
#error "no fence defined"
#endif
@@ -178,7 +184,7 @@ static INLINE void smp_mb__before_atomic(void)
static INLINE void smp_read_barrier_depends(void)
{
#if defined(__x86_64__) || defined(__PPC__) || defined(__s390__) \
- || defined(__aarch64__) || defined(__loongarch64)
+ || defined(__aarch64__) || defined(__loongarch64) || defined(__riscv)
// Nothing needed for these architectures.
#else
// Default to playing it safe.
diff --git a/utils/uds/cpu.h b/utils/uds/cpu.h
index e26d653..f3fd61f 100644
--- a/utils/uds/cpu.h
@ -48,14 +39,14 @@ index e26d653..f3fd61f 100644
#define CACHE_LINE_BYTES 256
-#elif defined(__x86_64__) || defined(__aarch64__) || defined(__loongarch64)
+#elif defined(__x86_64__) || defined(__aarch64__) || defined(__loongarch64) || defined(__riscv)
#define CACHE_LINE_BYTES 64
#define CACHE_LINE_BYTES 64
#else
#error "unknown cache line size"
diff --git a/utils/uds/Makefile b/utils/uds/Makefile
index e33d682..ff6ece0 100644
--- a/utils/uds/Makefile
+++ b/utils/uds/Makefile
@@ -32,8 +32,11 @@ ifeq ($(origin CC), default)
@@ -32,8 +32,11 @@
CC=gcc
endif
@ -68,32 +59,15 @@ index e33d682..ff6ece0 100644
-Werror \
-Wextra \
-Winit-self \
diff --git a/utils/vdo/base/Makefile b/utils/vdo/base/Makefile
diff --git a/utils/vdo/Makefile b/utils/vdo/Makefile
index fb009a7..26a8e28 100644
--- a/utils/vdo/base/Makefile
+++ b/utils/vdo/base/Makefile
@@ -22,9 +22,12 @@ VDO_VERSION = 6.2.6.14
UDS_DIR = ../../uds
--- a/utils/vdo/Makefile
+++ b/utils/vdo/Makefile
@@ -22,10 +22,12 @@
UDS_DIR = ../uds
+ifeq ($(filter riscv64%,$(MAKE_HOST)),)
+Wcast-align = -Wcast-align
+endif
WARNS = \
-Wall \
- -Wcast-align \
+ $(Wcast-align) \
-Werror \
-Wextra \
-Winit-self \
diff --git a/utils/vdo/user/Makefile b/utils/vdo/user/Makefile
index 8946fb3..698dede 100644
--- a/utils/vdo/user/Makefile
+++ b/utils/vdo/user/Makefile
@@ -24,9 +24,12 @@ VDO_VERSION = 6.2.6.14
UDS_DIR = ../../uds
VDO_BASE_DIR = ../base
-
+ifeq ($(filter riscv64%,$(MAKE_HOST)),)
+Wcast-align = -Wcast-align
+endif

239
0004-clang-support.patch Normal file
View File

@ -0,0 +1,239 @@
diff -uNr vdo-8.2.2.2-patchedbackup/utils/uds/Makefile vdo-8.2.2.2-patched/utils/uds/Makefile
--- vdo-8.2.2.2-patchedbackup/utils/uds/Makefile 2024-09-27 10:05:29.529846385 +0800
+++ vdo-8.2.2.2-patched/utils/uds/Makefile 2024-09-27 10:34:25.699840596 +0800
@@ -22,42 +22,46 @@
DEPDIR = .deps
-ifeq ($(origin CC), default)
- CC=gcc
-endif
-
ifeq ($(filter riscv64%,$(MAKE_HOST)),)
Wcast-align = -Wcast-align
endif
-WARNS = -Wall \
- $(Wcast-align) \
- -Werror \
- -Wextra \
- -Winit-self \
- -Wlogical-op \
- -Wmissing-include-dirs \
- -Wpointer-arith \
- -Wredundant-decls \
- -Wunused \
- -Wwrite-strings
-
-C_WARNS = -Wbad-function-cast \
- -Wcast-qual \
- -Wfloat-equal \
- -Wformat=2 \
- -Wmissing-declarations \
- -Wmissing-format-attribute \
- -Wmissing-prototypes \
- -Wnested-externs \
- -Wold-style-definition \
- -Wswitch-default
+
+# Define WARNS and C_WARNS only if using gcc
+CLANG_VERSION := $(shell $(CC) --version | grep -i clang)
+ifeq ($(findstring clang, $(CLANG_VERSION)),clang)
+WARNS =
+C_WARNS =
+else
+WARNS = -Wall \
+ $(Wcast-align) \
+ -Werror \
+ -Wextra \
+ -Winit-self \
+ -Wlogical-op \
+ -Wmissing-include-dirs \
+ -Wpointer-arith \
+ -Wredundant-decls \
+ -Wunused \
+ -Wwrite-strings
+
+C_WARNS = -Wbad-function-cast \
+ -Wcast-qual \
+ -Wfloat-equal \
+ -Wformat=2 \
+ -Wmissing-declarations \
+ -Wmissing-format-attribute \
+ -Wmissing-prototypes \
+ -Wnested-externs \
+ -Wold-style-definition \
+ -Wswitch-default
+endif
OPT_FLAGS = -O3 -fno-omit-frame-pointer
DEBUG_FLAGS =
RPM_OPT_FLAGS ?= -fpic
-GLOBAL_FLAGS = $(RPM_OPT_FLAGS) -D_GNU_SOURCE -g $(OPT_FLAGS) \
- $(WARNS) $(shell getconf LFS_CFLAGS) $(DEBUG_FLAGS) \
- -DCURRENT_VERSION='"$(BUILD_VERSION)"' \
+GLOBAL_FLAGS = $(RPM_OPT_FLAGS) -D_GNU_SOURCE -g $(OPT_FLAGS) \
+ $(WARNS) $(shell getconf LFS_CFLAGS) $(DEBUG_FLAGS) \
+ -DCURRENT_VERSION='"$(BUILD_VERSION)"'
CFLAGS = $(GLOBAL_FLAGS) -I. -std=gnu99 -pedantic $(C_WARNS) $(MY_CFLAGS)
LDFLAGS = $(RPM_LD_FLAGS) $(MY_LDFLAGS)
@@ -69,48 +73,48 @@
vpath %.c .
vpath %.c ./murmur
-UDS_OBJECTS = murmurhash3.o \
- buffer.o \
- buffered-reader.o \
- buffered-writer.o \
- chapter-index.o \
- config.o \
- delta-index.o \
- errors.o \
- event-count.o \
- fileIORegion.o \
- fileUtils.o \
- funnel-queue.o \
- geometry.o \
- hash-utils.o \
- index.o \
- index-layout.o \
- index-page-map.o \
- index-session.o \
- ioFactory.o \
- logger.o \
- memoryAlloc.o \
- minisyslog.o \
- open-chapter.o \
- page-cache.o \
- permassert.o \
- radix-sort.o \
- random.o \
- record-page.o \
- requestQueue.o \
- sparse-cache.o \
- string-utils.o \
- syscalls.o \
- threadCondVar.o \
- threadMutex.o \
- threadSemaphore.o \
- time-utils.o \
- uds-threads.o \
- volume.o \
- volume-index005.o \
- volume-index006.o \
- volume-index-ops.o \
- volume-store.o
+UDS_OBJECTS = murmurhash3.o \
+ buffer.o \
+ buffered-reader.o \
+ buffered-writer.o \
+ chapter-index.o \
+ config.o \
+ delta-index.o \
+ errors.o \
+ event-count.o \
+ fileIORegion.o \
+ fileUtils.o \
+ funnel-queue.o \
+ geometry.o \
+ hash-utils.o \
+ index.o \
+ index-layout.o \
+ index-page-map.o \
+ index-session.o \
+ ioFactory.o \
+ logger.o \
+ memoryAlloc.o \
+ minisyslog.o \
+ open-chapter.o \
+ page-cache.o \
+ permassert.o \
+ radix-sort.o \
+ random.o \
+ record-page.o \
+ requestQueue.o \
+ sparse-cache.o \
+ string-utils.o \
+ syscalls.o \
+ threadCondVar.o \
+ threadMutex.o \
+ threadSemaphore.o \
+ time-utils.o \
+ uds-threads.o \
+ volume.o \
+ volume-index005.o \
+ volume-index006.o \
+ volume-index-ops.o \
+ volume-store.o
.PHONY: all
all: libuds.a
@@ -129,7 +133,6 @@
%.s: %.c
$(CC) $(CFLAGS) -S $^
-
########################################################################
# Dependency processing
diff -uNr vdo-8.2.2.2-patchedbackup/utils/vdo/Makefile vdo-8.2.2.2-patched/utils/vdo/Makefile
--- vdo-8.2.2.2-patchedbackup/utils/vdo/Makefile 2024-09-27 10:05:29.529846385 +0800
+++ vdo-8.2.2.2-patched/utils/vdo/Makefile 2024-09-27 10:34:19.959840728 +0800
@@ -25,30 +25,34 @@
ifeq ($(filter riscv64%,$(MAKE_HOST)),)
Wcast-align = -Wcast-align
endif
-WARNS = \
- -Wall \
- $(Wcast-align) \
- -Werror \
- -Wextra \
- -Winit-self \
- -Wlogical-op \
- -Wmissing-include-dirs \
- -Wpointer-arith \
- -Wredundant-decls \
- -Wunused \
- -Wwrite-strings \
+CLANG_VERSION := $(shell $(CC) --version | grep -i clang)
+ifeq ($(findstring clang, $(CLANG_VERSION)),clang)
+WARNS =
+C_WARNS =
+else
+WARNS = -Wall \
+ $(Wcast-align) \
+ -Werror \
+ -Wextra \
+ -Winit-self \
+ -Wlogical-op \
+ -Wmissing-include-dirs \
+ -Wpointer-arith \
+ -Wredundant-decls \
+ -Wunused \
+ -Wwrite-strings
-C_WARNS = \
- -Wbad-function-cast \
- -Wcast-qual \
- -Wfloat-equal \
- -Wformat=2 \
- -Wmissing-declarations \
- -Wmissing-format-attribute \
- -Wmissing-prototypes \
- -Wnested-externs \
- -Wold-style-definition \
- -Wswitch-default \
+C_WARNS = -Wbad-function-cast \
+ -Wcast-qual \
+ -Wfloat-equal \
+ -Wformat=2 \
+ -Wmissing-declarations \
+ -Wmissing-format-attribute \
+ -Wmissing-prototypes \
+ -Wnested-externs \
+ -Wold-style-definition \
+ -Wswitch-default
+endif
ifeq ($(AR), ar)
ifeq ($(origin AR), default)

Binary file not shown.

BIN
8.2.2.2.tar.gz Normal file

Binary file not shown.

View File

@ -1,18 +1,22 @@
Name: vdo
Version: 6.2.6.14
Version: 8.2.2.2
Release: 3
Summary: Management tools for Virtual Data Optimizer
License: GPLv2
URL: http://github.com/dm-vdo/vdo
Source0: https://github.com/dm-vdo/vdo/archive/refs/tags/%{version}.tar.gz
Patch0002: 0002-Ignore-misaligned-pointers.patch
Patch0003: 0001-Add-loongarch64-support.patch
Patch0004: 0003-RISC-V-support.patch
Patch0001: 0001-Add-loongarch64-support.patch
Patch0002: 0002-fix_dmeventd_linking.patch
Patch0003: 0003-RISC-V-support.patch
Patch0004: 0004-clang-support.patch
BuildRequires: gcc libuuid-devel device-mapper-devel device-mapper-event-devel
BuildRequires: valgrind-devel python3 python3-devel zlib-devel systemd
BuildRequires: zlib-devel libblkid-devel
%ifarch "%{valgrind_arches}"
BuildRequires: valgrind-devel
%endif
%{?systemd_requires}
Requires: lvm2 >= 2.02 python3-PyYAML >= 3.10 libuuid >= 2.23 kmod-kvdo >= 6.2 util-linux >= 2.32.1
Requires: libuuid >= 2.23 kmod-kvdo >= 6.2 util-linux >= 2.32.1
Provides: kvdo-kmod-common = %{version}
%define __requires_exclude perl
@ -25,66 +29,44 @@ This package provides the user-space management tools for VDO.
%package_help
%prep
%setup -q
%patch0002 -p1
%patch0003 -p1
%patch0004 -p1
%autosetup -n %{name}-%{version} -p1
%build
%make_build
%install
%make_install DESTDIR=%{buildroot} INSTALLOWNER= bindir=%{_bindir} \
defaultdocdir=%{_defaultdocdir} name=%{name} \
python3_sitelib=%{python3_sitelib} mandir=%{_mandir} \
unitdir=%{_unitdir} presetdir=%{_presetdir}
# Fix the python3 shebangs
for file in %{_bindir}/vdo \
%{_bindir}/vdostats
do
pathfix.py -pni "%{__python3}" %{buildroot}${file}
done
%post
%systemd_post vdo.service
%preun
%systemd_preun vdo.service
%postun
%systemd_postun_with_restart vdo.service
defaultdocdir=%{_defaultdocdir} name=%{name} mandir=%{_mandir} \
unitdir=%{_unitdir} presetdir=%{_presetdir} sysconfdir=%{_sysconfdir}
%files
%defattr(-,root,root)
%dir %{_defaultdocdir}/%{name}
%doc CONTRIBUTORS.txt README.md
%dir %{_defaultdocdir}/%{name}/examples
%doc %{_defaultdocdir}/%{name}/examples/*
%license %{_defaultdocdir}/%{name}/COPYING
%{_bindir}/*
%dir %{python3_sitelib}/%{name}
%{python3_sitelib}/%{name}/__init__.py
%{python3_sitelib}/%{name}/__pycache__/__init__.cpython-*.pyc
%{python3_sitelib}/%{name}/__pycache__/__init__.cpython-*.opt-1.pyc
%dir %{python3_sitelib}/%{name}/vdomgmnt/
%{python3_sitelib}/%{name}/vdomgmnt/*
%dir %{python3_sitelib}/%{name}/statistics/
%{python3_sitelib}/%{name}/statistics/*
%dir %{python3_sitelib}/%{name}/utils/
%{python3_sitelib}/%{name}/utils/*
%{_unitdir}/vdo.service
%{_presetdir}/97-vdo.preset
/bash_completion.d/vdo
/bash_completion.d/vdostats
/etc/udev/rules.d/69-vdo-start-by-dev.rules
/usr/lib/systemd/system/vdo-start-by-dev@.service
/usr/libexec/vdoprepareforlvm
%dir %{_sysconfdir}/bash_completion.d
%{_sysconfdir}/bash_completion.d/vdostats
%files help
%defattr(-,root,root)
%{_mandir}/man8/*
%changelog
* Tue Aug 27 2024 shenchenbang <1944340417@qq.com> - 8.2.2.2-3
- Fix add if else to support clang
* Sun Apr 28 2024 yinsist <jianhui.oerv@isrc.iscas.ac.cn> - 8.2.2.2-2
- Valgrind does not support certain architectures like RISC-V, Before depending on Valgrind, first check if Valgrind supports the architecture
* Tue Feb 27 2024 liyanan <liyanan61@h-partners.com> - 8.2.2.2-1
- Upgrade to 8.2.2.2
* Wed Aug 16 2023 huxintao <806908118@qq.com> - 6.2.9.7-1
- Upgrade to 6.2.9.7
* Fri Mar 17 2023 laokz <zhangkai@iscas.ac.cn> - 6.2.6.14-3
- Add RISC-V support (Patch by YukariChiba<i@0x7f.cc>)
- Source of fence commands: RISC-V ISA Spec from riscv.org