Patch Busybox to use it's own version of major/minor/makedev macros
[akaros.git] / tools / apps / busybox / akaros-patches / 1.17.3 / 0006-busybox-major-minor-makedev.patch
1 diff -ur busybox-1.17.3-akaros-base/include/libbb.h busybox-1.17.3-akaros/include/libbb.h
2 --- busybox-1.17.3-akaros-base/include/libbb.h  2015-11-03 16:05:17.610100657 -0500
3 +++ busybox-1.17.3-akaros/include/libbb.h       2015-11-03 16:10:35.950717057 -0500
4 @@ -1265,8 +1265,20 @@
5  #ifdef __GLIBC__
6  /* At least glibc has horrendously large inline for this, so wrap it */
7  unsigned long long bb_makedev(unsigned int major, unsigned int minor) FAST_FUNC;
8 +unsigned int bb_major(unsigned long long dev) FAST_FUNC;
9 +unsigned int bb_minor(unsigned long long dev) FAST_FUNC;
10 +#ifdef makedev
11  #undef makedev
12 +#endif
13  #define makedev(a,b) bb_makedev(a,b)
14 +#ifdef major
15 +#undef major
16 +#endif
17 +#define major(a) bb_major(a)
18 +#ifdef minor
19 +#undef minor
20 +#endif
21 +#define minor(a) bb_minor(a)
22  #endif
23  
24  
25 diff -ur busybox-1.17.3-akaros-base/libbb/makedev.c busybox-1.17.3-akaros/libbb/makedev.c
26 --- busybox-1.17.3-akaros-base/libbb/makedev.c  2015-11-03 16:05:17.522098264 -0500
27 +++ busybox-1.17.3-akaros/libbb/makedev.c       2015-11-03 16:12:53.898427762 -0500
28 @@ -19,6 +19,18 @@
29  unsigned long long FAST_FUNC bb_makedev(unsigned int major, unsigned int minor);
30  unsigned long long FAST_FUNC bb_makedev(unsigned int major, unsigned int minor)
31  {
32 -       return makedev(major, minor);
33 +       return ((major << 16) | minor);
34 +}
35 +
36 +unsigned int FAST_FUNC bb_major(unsigned long long dev);
37 +unsigned int FAST_FUNC bb_major(unsigned long long dev)
38 +{
39 +       return ((dev >> 16) & 0xFFFF);
40 +}
41 +
42 +unsigned int FAST_FUNC bb_minor(unsigned long long dev);
43 +unsigned int FAST_FUNC bb_minor(unsigned long long dev)
44 +{
45 +       return (dev & 0xFFFF);
46  }
47  #endif