summaryrefslogtreecommitdiffstats
path: root/package/util-linux/0001-lib-crc32-prefix-public-functions.patch
blob: fa68bd01e7557bf277c29672b3e7e68a65c37b4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
From b39b4cac29dcc5d060d8e30344f693462502066a Mon Sep 17 00:00:00 2001
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
Date: Mon, 10 Oct 2016 17:42:42 -0300
Subject: [PATCH] lib/crc32: prefix public functions

Make the publicly-visible crc32 library functions prefixed by ul_, such
as crc32() -> ul_crc32().
This is because it clashes with the crc32() function from zlib.
For newer versions of glib (2.50+) zlib and libblkid are required
dependencies and otherwise results in build failure when building
statically.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
Status: submitted upstream

 disk-utils/fsck.cramfs.c         | 12 ++++++------
 disk-utils/mkfs.cramfs.c         |  6 +++---
 include/crc32.h                  |  4 ++--
 lib/crc32.c                      |  4 ++--
 libblkid/src/partitions/gpt.c    |  2 +-
 libblkid/src/superblocks/nilfs.c |  6 +++---
 libfdisk/src/gpt.c               |  2 +-
 7 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/disk-utils/fsck.cramfs.c b/disk-utils/fsck.cramfs.c
index 12009f2..f34e79f 100644
--- a/disk-utils/fsck.cramfs.c
+++ b/disk-utils/fsck.cramfs.c
@@ -214,7 +214,7 @@ static void test_crc(int start)
 		return;
 	}
 
-	crc = crc32(0L, Z_NULL, 0);
+	crc = ul_crc32(0L, Z_NULL, 0);
 
 	buf =
 	    mmap(NULL, super.size, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
@@ -231,8 +231,8 @@ static void test_crc(int start)
 	}
 	if (buf != MAP_FAILED) {
 		((struct cramfs_super *)((unsigned char *) buf + start))->fsid.crc =
-		    crc32(0L, Z_NULL, 0);
-		crc = crc32(crc, (unsigned char *) buf + start, super.size - start);
+		    ul_crc32(0L, Z_NULL, 0);
+		crc = ul_crc32(crc, (unsigned char *) buf + start, super.size - start);
 		munmap(buf, super.size);
 	} else {
 		int retval;
@@ -249,15 +249,15 @@ static void test_crc(int start)
 				break;
 			if (length == 0)
 				((struct cramfs_super *)buf)->fsid.crc =
-				    crc32(0L, Z_NULL, 0);
+				    ul_crc32(0L, Z_NULL, 0);
 			length += retval;
 			if (length > (super.size - start)) {
-				crc = crc32(crc, buf,
+				crc = ul_crc32(crc, buf,
 					  retval - (length -
 						    (super.size - start)));
 				break;
 			}
-			crc = crc32(crc, buf, retval);
+			crc = ul_crc32(crc, buf, retval);
 		}
 		free(buf);
 	}
diff --git a/disk-utils/mkfs.cramfs.c b/disk-utils/mkfs.cramfs.c
index 4e6b3ab..55d6871 100644
--- a/disk-utils/mkfs.cramfs.c
+++ b/disk-utils/mkfs.cramfs.c
@@ -406,7 +406,7 @@ static unsigned int write_superblock(struct entry *root, char *base, int size)
 	super->size = size;
 	memcpy(super->signature, CRAMFS_SIGNATURE, sizeof(super->signature));
 
-	super->fsid.crc = crc32(0L, Z_NULL, 0);
+	super->fsid.crc = ul_crc32(0L, Z_NULL, 0);
 	super->fsid.edition = opt_edition;
 	super->fsid.blocks = total_blocks;
 	super->fsid.files = total_nodes;
@@ -700,7 +700,7 @@ int main(int argc, char **argv)
 	loff_t fslen_ub = sizeof(struct cramfs_super);
 	unsigned int fslen_max;
 	char const *dirname, *outfile;
-	uint32_t crc = crc32(0L, Z_NULL, 0);
+	uint32_t crc = ul_crc32(0L, Z_NULL, 0);
 	int c;
 	cramfs_is_big_endian = HOST_IS_BIG_ENDIAN; /* default is to use host order */
 
@@ -856,7 +856,7 @@ int main(int argc, char **argv)
 		       sizeof(struct cramfs_super));
 
 	/* Put the checksum in. */
-	crc = crc32(crc, (unsigned char *) (rom_image+opt_pad), (offset-opt_pad));
+	crc = ul_crc32(crc, (unsigned char *) (rom_image+opt_pad), (offset-opt_pad));
 	((struct cramfs_super *) (rom_image+opt_pad))->fsid.crc = u32_toggle_endianness(cramfs_is_big_endian, crc);
 	if (verbose)
 		printf(_("CRC: %x\n"), crc);
diff --git a/include/crc32.h b/include/crc32.h
index ff2dd99..2551f50 100644
--- a/include/crc32.h
+++ b/include/crc32.h
@@ -4,8 +4,8 @@
 #include <sys/types.h>
 #include <stdint.h>
 
-extern uint32_t crc32(uint32_t seed, const unsigned char *buf, size_t len);
-extern uint32_t crc32_exclude_offset(uint32_t seed, const unsigned char *buf, size_t len,
+extern uint32_t ul_crc32(uint32_t seed, const unsigned char *buf, size_t len);
+extern uint32_t ul_crc32_exclude_offset(uint32_t seed, const unsigned char *buf, size_t len,
 		                              size_t exclude_off, size_t exclude_len);
 
 #endif
diff --git a/lib/crc32.c b/lib/crc32.c
index a5e3216..824693d 100644
--- a/lib/crc32.c
+++ b/lib/crc32.c
@@ -108,7 +108,7 @@ static inline uint32_t crc32_add_char(uint32_t crc, unsigned char c)
  * and does __not__ xor at the end. Then individual users can do
  * whatever they need.
  */
-uint32_t crc32(uint32_t seed, const unsigned char *buf, size_t len)
+uint32_t ul_crc32(uint32_t seed, const unsigned char *buf, size_t len)
 {
 	uint32_t crc = seed;
 	const unsigned char *p = buf;
@@ -121,7 +121,7 @@ uint32_t crc32(uint32_t seed, const unsigned char *buf, size_t len)
 	return crc;
 }
 
-uint32_t crc32_exclude_offset(uint32_t seed, const unsigned char *buf, size_t len,
+uint32_t ul_crc32_exclude_offset(uint32_t seed, const unsigned char *buf, size_t len,
 			      size_t exclude_off, size_t exclude_len)
 {
 	uint32_t crc = seed;
diff --git a/libblkid/src/partitions/gpt.c b/libblkid/src/partitions/gpt.c
index dcc04e6..e6baa59 100644
--- a/libblkid/src/partitions/gpt.c
+++ b/libblkid/src/partitions/gpt.c
@@ -105,7 +105,7 @@ struct gpt_entry {
 static inline uint32_t count_crc32(const unsigned char *buf, size_t len,
 				   size_t exclude_off, size_t exclude_len)
 {
-	return (crc32_exclude_offset(~0L, buf, len, exclude_off, exclude_len) ^ ~0L);
+	return (ul_crc32_exclude_offset(~0L, buf, len, exclude_off, exclude_len) ^ ~0L);
 }
 
 static inline unsigned char *get_lba_buffer(blkid_probe pr,
diff --git a/libblkid/src/superblocks/nilfs.c b/libblkid/src/superblocks/nilfs.c
index ee5c5f9..95538ef 100644
--- a/libblkid/src/superblocks/nilfs.c
+++ b/libblkid/src/superblocks/nilfs.c
@@ -89,9 +89,9 @@ static int nilfs_valid_sb(blkid_probe pr, struct nilfs_super_block *sb, int is_b
 	if (bytes < crc_start || bytes > sizeof(struct nilfs_super_block))
 		return 0;
 
-	crc = crc32(le32_to_cpu(sb->s_crc_seed), (unsigned char *)sb, sumoff);
-	crc = crc32(crc, sum, 4);
-	crc = crc32(crc, (unsigned char *)sb + crc_start, bytes - crc_start);
+	crc = ul_crc32(le32_to_cpu(sb->s_crc_seed), (unsigned char *)sb, sumoff);
+	crc = ul_crc32(crc, sum, 4);
+	crc = ul_crc32(crc, (unsigned char *)sb + crc_start, bytes - crc_start);
 
 	return blkid_probe_verify_csum(pr, crc, le32_to_cpu(sb->s_sum));
 }
diff --git a/libfdisk/src/gpt.c b/libfdisk/src/gpt.c
index 8377192..208699b 100644
--- a/libfdisk/src/gpt.c
+++ b/libfdisk/src/gpt.c
@@ -850,7 +850,7 @@ fail:
 static inline uint32_t count_crc32(const unsigned char *buf, size_t len,
 				   size_t ex_off, size_t ex_len)
 {
-	return (crc32_exclude_offset(~0L, buf, len, ex_off, ex_len) ^ ~0L);
+	return (ul_crc32_exclude_offset(~0L, buf, len, ex_off, ex_len) ^ ~0L);
 }
 
 static inline uint32_t gpt_header_count_crc32(struct gpt_header *header)
-- 
2.7.3

OpenPOWER on IntegriCloud