[PATCH, COMMITTED] [MicroBlaze BZ #15705] Define MMAP2_PAGE_SHIFT

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH, COMMITTED] [MicroBlaze BZ #15705] Define MMAP2_PAGE_SHIFT

David Holsgrove
Define MMAP2_PAGE_SHIFT to -1 for microblaze so the correct shift
for the syscall is determined dynamically using getpagesize

ports/ChangeLog.microblaze

 2014-02-04  David Holsgrove <[hidden email]>

   * sysdeps/unix/sysv/linux/microblaze/mmap64.c: New file.

Signed-off-by: David Holsgrove <[hidden email]>
---
 NEWS                                              |   24 ++++++++++-----------
 ports/ChangeLog.microblaze                        |    5 +++++
 ports/sysdeps/unix/sysv/linux/microblaze/mmap64.c |    4 ++++
 3 files changed, 21 insertions(+), 12 deletions(-)
 create mode 100644 ports/sysdeps/unix/sysv/linux/microblaze/mmap64.c

diff --git a/NEWS b/NEWS
index 2c8f4f9..c0d981e 100644
--- a/NEWS
+++ b/NEWS
@@ -15,18 +15,18 @@ Version 2.19
   14699, 14752, 14782, 14876, 14910, 15004, 15048, 15073, 15089, 15128,
   15218, 15268, 15277, 15308, 15362, 15374, 15400, 15425, 15427, 15483,
   15522, 15531, 15532, 15593, 15601, 15608, 15609, 15610, 15632, 15640,
-  15670, 15672, 15680, 15681, 15723, 15734, 15735, 15736, 15748, 15749,
-  15754, 15760, 15763, 15764, 15797, 15799, 15825, 15843, 15844, 15846,
-  15847, 15849, 15850, 15855, 15856, 15857, 15859, 15867, 15886, 15887,
-  15890, 15892, 15893, 15895, 15897, 15901, 15905, 15909, 15915, 15917,
-  15919, 15921, 15923, 15939, 15941, 15948, 15963, 15966, 15985, 15988,
-  15997, 16032, 16034, 16036, 16037, 16038, 16041, 16046, 16055, 16071,
-  16072, 16074, 16077, 16078, 16103, 16112, 16133, 16143, 16144, 16146,
-  16150, 16151, 16153, 16167, 16169, 16172, 16195, 16214, 16245, 16271,
-  16274, 16283, 16289, 16293, 16314, 16316, 16330, 16337, 16338, 16356,
-  16365, 16366, 16369, 16372, 16375, 16379, 16384, 16385, 16386, 16387,
-  16390, 16394, 16398, 16400, 16407, 16408, 16414, 16430, 16431, 16453,
-  16474, 16506, 16510
+  15670, 15672, 15680, 15681, 15705, 15723, 15734, 15735, 15736, 15748,
+  15749, 15754, 15760, 15763, 15764, 15797, 15799, 15825, 15843, 15844,
+  15846, 15847, 15849, 15850, 15855, 15856, 15857, 15859, 15867, 15886,
+  15887, 15890, 15892, 15893, 15895, 15897, 15901, 15905, 15909, 15915,
+  15917, 15919, 15921, 15923, 15939, 15941, 15948, 15963, 15966, 15985,
+  15988, 15997, 16032, 16034, 16036, 16037, 16038, 16041, 16046, 16055,
+  16071, 16072, 16074, 16077, 16078, 16103, 16112, 16133, 16143, 16144,
+  16146, 16150, 16151, 16153, 16167, 16169, 16172, 16195, 16214, 16245,
+  16271, 16274, 16283, 16289, 16293, 16314, 16316, 16330, 16337, 16338,
+  16356, 16365, 16366, 16369, 16372, 16375, 16379, 16384, 16385, 16386,
+  16387, 16390, 16394, 16398, 16400, 16407, 16408, 16414, 16430, 16431,
+  16453, 16474, 16506, 16510
 
 * Slovenian translations for glibc messages have been contributed by the
   Translation Project's Slovenian team of translators.
diff --git a/ports/ChangeLog.microblaze b/ports/ChangeLog.microblaze
index df1518e..93c311e 100644
--- a/ports/ChangeLog.microblaze
+++ b/ports/ChangeLog.microblaze
@@ -1,5 +1,10 @@
 2014-02-04  David Holsgrove <[hidden email]>
 
+ [BZ #15705]
+ * sysdeps/unix/sysv/linux/microblaze/mmap64.c: New file.
+
+2014-02-04  David Holsgrove <[hidden email]>
+
  * sysdeps/microblaze/fegetround.c: Delete redundant file.
  * sysdeps/microblaze/fesetround.c: Likewise.
 
diff --git a/ports/sysdeps/unix/sysv/linux/microblaze/mmap64.c b/ports/sysdeps/unix/sysv/linux/microblaze/mmap64.c
new file mode 100644
index 0000000..11a6bd8
--- /dev/null
+++ b/ports/sysdeps/unix/sysv/linux/microblaze/mmap64.c
@@ -0,0 +1,4 @@
+/* Microblaze kernel has PAGE_SHIFT set to 12.
+   Determine the shift dynamically with getpagesize.  */
+#define MMAP2_PAGE_SHIFT -1
+#include <sysdeps/unix/sysv/linux/mmap64.c>
--
1.7.9.5


Reply | Threaded
Open this post in threaded view
|

Re: [PATCH, COMMITTED] [MicroBlaze BZ #15705] Define MMAP2_PAGE_SHIFT

Joseph Myers
On Wed, 5 Feb 2014, David Holsgrove wrote:

> +/* Microblaze kernel has PAGE_SHIFT set to 12.
> +   Determine the shift dynamically with getpagesize.  */

The comment "has PAGE_SHIFT set to 12" seems inaccurate.  The reason you
need to determine it dynamically is that the kernel
(arch/microblaze/include/asm/page.h) may define it to any of 12, 14 or 16,
depending on configuration options.  If it were constant, you could just
use a suitable constant value here instead of -1.

--
Joseph S. Myers
[hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH, COMMITTED] [MicroBlaze BZ #15705] Define MMAP2_PAGE_SHIFT

David Holsgrove
On 6 February 2014 02:50, Joseph S. Myers <[hidden email]> wrote:

> On Wed, 5 Feb 2014, David Holsgrove wrote:
>
>> +/* Microblaze kernel has PAGE_SHIFT set to 12.
>> +   Determine the shift dynamically with getpagesize.  */
>
> The comment "has PAGE_SHIFT set to 12" seems inaccurate.  The reason you
> need to determine it dynamically is that the kernel
> (arch/microblaze/include/asm/page.h) may define it to any of 12, 14 or 16,
> depending on configuration options.  If it were constant, you could just
> use a suitable constant value here instead of -1.
>

Patch reverted in light of recent changes to mmap2 for MicroBlaze in
3.13 kernel (https://sourceware.org/bugzilla/show_bug.cgi?id=15705).

Any Glibc MicroBlaze changes will be re-evaluated post glibc 2.19 release.

thanks,
David

> --
> Joseph S. Myers
> [hidden email]