1 Description: fix FTBFS with glibc 2.28
3 Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
4 Bug-Debian: https://bugs.debian.org/916014
6 Last-Update: 2018-12-09
10 --- squashfs-tools-4.3.orig/squashfs-tools/mksquashfs.c
11 +++ squashfs-tools-4.3/squashfs-tools/mksquashfs.c
14 #include <sys/types.h>
16 +#include <sys/sysmacros.h>
20 @@ -986,49 +987,49 @@ int create_inode(squashfs_inode *i_no, s
22 else if(type == SQUASHFS_CHRDEV_TYPE || type == SQUASHFS_BLKDEV_TYPE) {
23 struct squashfs_dev_inode_header *dev = &inode_header.dev;
24 - unsigned int major = major(buf->st_rdev);
25 - unsigned int minor = minor(buf->st_rdev);
26 + unsigned int i_major = major(buf->st_rdev);
27 + unsigned int i_minor = minor(buf->st_rdev);
30 + if(i_major > 0xfff) {
31 ERROR("Major %d out of range in device node %s, "
32 - "truncating to %d\n", major, filename,
35 + "truncating to %d\n", i_major, filename,
39 - if(minor > 0xfffff) {
40 + if(i_minor > 0xfffff) {
41 ERROR("Minor %d out of range in device node %s, "
42 - "truncating to %d\n", minor, filename,
45 + "truncating to %d\n", i_minor, filename,
49 inode = get_inode(sizeof(*dev));
51 - dev->rdev = (major << 8) | (minor & 0xff) |
52 - ((minor & ~0xff) << 12);
53 + dev->rdev = (i_major << 8) | (i_minor & 0xff) |
54 + ((i_minor & ~0xff) << 12);
55 SQUASHFS_SWAP_DEV_INODE_HEADER(dev, inode);
56 TRACE("Device inode, rdev 0x%x, nlink %d\n", dev->rdev, nlink);
58 else if(type == SQUASHFS_LCHRDEV_TYPE || type == SQUASHFS_LBLKDEV_TYPE) {
59 struct squashfs_ldev_inode_header *dev = &inode_header.ldev;
60 - unsigned int major = major(buf->st_rdev);
61 - unsigned int minor = minor(buf->st_rdev);
62 + unsigned int i_major = major(buf->st_rdev);
63 + unsigned int i_minor = minor(buf->st_rdev);
66 + if(i_major > 0xfff) {
67 ERROR("Major %d out of range in device node %s, "
68 - "truncating to %d\n", major, filename,
71 + "truncating to %d\n", i_major, filename,
75 - if(minor > 0xfffff) {
76 + if(i_minor > 0xfffff) {
77 ERROR("Minor %d out of range in device node %s, "
78 - "truncating to %d\n", minor, filename,
81 + "truncating to %d\n", i_minor, filename,
85 inode = get_inode(sizeof(*dev));
87 - dev->rdev = (major << 8) | (minor & 0xff) |
88 - ((minor & ~0xff) << 12);
89 + dev->rdev = (i_major << 8) | (i_minor & 0xff) |
90 + ((i_minor & ~0xff) << 12);
92 SQUASHFS_SWAP_LDEV_INODE_HEADER(dev, inode);
93 TRACE("Device inode, rdev 0x%x, nlink %d\n", dev->rdev, nlink);
94 --- squashfs-tools-4.3.orig/squashfs-tools/unsquashfs.c
95 +++ squashfs-tools-4.3/squashfs-tools/unsquashfs.c
97 #include <sys/types.h>
99 #include <sys/resource.h>
100 +#include <sys/sysmacros.h>