All of lore.kernel.org
 help / color / mirror / Atom feed
From: aldot at uclibc.org <aldot@uclibc.org>
To: buildroot@busybox.net
Subject: [Buildroot] svn commit: trunk/buildroot/toolchain/uClibc
Date: Sat,  7 Jul 2007 03:39:14 -0700 (PDT)	[thread overview]
Message-ID: <20070707103914.2D43CA682F@busybox.net> (raw)

Author: aldot
Date: 2007-07-07 03:39:13 -0700 (Sat, 07 Jul 2007)
New Revision: 19018

Log:
- pull in missing hunks from the arm-mmap fix.


Modified:
   trunk/buildroot/toolchain/uClibc/uClibc-0.9.29-001-fix-mmap.patch
   trunk/buildroot/toolchain/uClibc/uClibc-0.9.29.config


Changeset:
Modified: trunk/buildroot/toolchain/uClibc/uClibc-0.9.29-001-fix-mmap.patch
===================================================================
--- trunk/buildroot/toolchain/uClibc/uClibc-0.9.29-001-fix-mmap.patch	2007-07-07 10:14:30 UTC (rev 19017)
+++ trunk/buildroot/toolchain/uClibc/uClibc-0.9.29-001-fix-mmap.patch	2007-07-07 10:39:13 UTC (rev 19018)
@@ -1,22 +1,97 @@
---- uClibc-0.9.29/libc/sysdeps/linux/arm/mmap.c	2007-03-08 19:00:42.000000000 +0100
-+++ uClibc/libc/sysdeps/linux/arm/mmap.c	2007-05-16 12:53:23.000000000 +0200
-@@ -39,9 +39,17 @@
+Index: test/mmap/mmap2.c
+===================================================================
+--- test/mmap/mmap2.c	(revision 0)
++++ test/mmap/mmap2.c	(revision 18616)
+@@ -0,0 +1,41 @@
++/* When trying to map /dev/mem with offset 0xFFFFF000 on the ARM platform, mmap
++ * returns -EOVERFLOW.
++ *
++ * Since off_t is defined as a long int and the sign bit is set in the address,
++ * the shift operation shifts in ones instead of zeroes
++ * from the left. This results the offset sent to the kernel function becomes
++ * 0xFFFFFFFF instead of 0x000FFFFF with MMAP2_PAGE_SHIFT set to 12.
++ */
++
++#include <unistd.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <errno.h>
++#include <fcntl.h>
++#include <sys/mman.h>
++
++#define FATAL do { fprintf(stderr, "Error at line %d, file %s (%d) [%s]\n", \
++  __LINE__, __FILE__, errno, strerror(errno)); exit(1); } while(0)
++
++#define MAP_SIZE 4096UL
++#define MAP_MASK (MAP_SIZE - 1)
++
++int main(int argc, char **argv) {
++    void* map_base = 0;
++    int fd;
++    off_t target = 0xfffff000;
++    if((fd = open("/dev/mem", O_RDWR | O_SYNC)) == -1) FATAL;
++    printf("/dev/mem opened.\n");
++    fflush(stdout);
++
++   /* Map one page */
++    map_base = mmap(0, MAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED,
++                        fd, target & ~MAP_MASK);
++    if(map_base == (void *) -1) FATAL;
++    printf("Memory mapped at address %p.\n", map_base);
++    fflush(stdout);
++    if(munmap(map_base, MAP_SIZE) == -1) FATAL;
++    close(fd);
++    return 0;
++}
+Index: libc/sysdeps/linux/arm/mmap.c
+===================================================================
+--- libc/sysdeps/linux/arm/mmap.c	(revision 18615)
++++ libc/sysdeps/linux/arm/mmap.c	(revision 18616)
+@@ -27,7 +27,6 @@ __ptr_t mmap(__ptr_t addr, size_t len, i
+ 
+ #elif defined  (__NR_mmap2)
+ #define __NR__mmap __NR_mmap2
+-
+ #ifndef MMAP2_PAGE_SHIFT
+ # define MMAP2_PAGE_SHIFT 12
+ #endif
+@@ -39,9 +38,17 @@ __ptr_t mmap(__ptr_t addr, size_t len, i
  {
    /* check if offset is page aligned */
      if (offset & ((1 << MMAP2_PAGE_SHIFT) - 1))
 +    {
 +        __set_errno(EINVAL);
          return MAP_FAILED;
--  return (__ptr_t) _mmap (addr, len, prot, flags,
--						  fd,(off_t) (offset >> MMAP2_PAGE_SHIFT));
 +    }
 +#ifdef __USE_FILE_OFFSET64
-+    return (__ptr_t) _mmap (addr, len, prot, flags,
-+                            fd, ((__u_quad_t) offset >> MMAP2_PAGE_SHIFT));
++  return (__ptr_t) _mmap (addr, len, prot, flags,
++						  fd,((__u_quad_t) offset >> MMAP2_PAGE_SHIFT));
 +#else
-+    return (__ptr_t) _mmap (addr, len, prot, flags,
-+                            fd, ((__u_long) offset >> MMAP2_PAGE_SHIFT));
+   return (__ptr_t) _mmap (addr, len, prot, flags,
+-						  fd,(off_t) (offset >> MMAP2_PAGE_SHIFT));
++                          fd,((__u_long) offset >> MMAP2_PAGE_SHIFT));
 +#endif
  }
  #elif defined (__NR_mmap)
  # define __NR__mmap __NR_mmap
+Index: libc/sysdeps/linux/common/mmap64.c
+===================================================================
+--- libc/sysdeps/linux/common/mmap64.c	(revision 18615)
++++ libc/sysdeps/linux/common/mmap64.c	(revision 18616)
+@@ -58,8 +58,13 @@ __ptr_t mmap64(__ptr_t addr, size_t len,
+ 		__set_errno(EINVAL);
+ 		return MAP_FAILED;
+ 	}
+-
+-	return __syscall_mmap2(addr, len, prot, flags, fd, (off_t) (offset >> MMAP2_PAGE_SHIFT));
++#ifdef __USE_FILE_OFFSET64
++  return __syscall_mmap2(addr, len, prot, flags,
++                         fd,((__u_quad_t)offset >> MMAP2_PAGE_SHIFT));
++#else
++   return __syscall_mmap2(addr, len, prot, flags,
++                          fd,((__ulong_t)offset >> MMAP2_PAGE_SHIFT));
++#endif
+ }
+ 
+ # endif

Modified: trunk/buildroot/toolchain/uClibc/uClibc-0.9.29.config
===================================================================
--- trunk/buildroot/toolchain/uClibc/uClibc-0.9.29.config	2007-07-07 10:14:30 UTC (rev 19017)
+++ trunk/buildroot/toolchain/uClibc/uClibc-0.9.29.config	2007-07-07 10:39:13 UTC (rev 19018)
@@ -113,7 +113,7 @@
 # UCLIBC_HAS_CTYPE_UNSAFE is not set
 UCLIBC_HAS_CTYPE_CHECKED=y
 # UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
+# UCLIBC_HAS_WCHAR is not set
 # UCLIBC_HAS_LOCALE is not set
 UCLIBC_HAS_HEXADECIMAL_FLOATS=y
 UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y

             reply	other threads:[~2007-07-07 10:39 UTC|newest]

Thread overview: 134+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-07 10:39 aldot at uclibc.org [this message]
2007-07-07 16:40 ` [Buildroot] svn commit: trunk/buildroot/toolchain/uClibc BuraphaLinux Server
  -- strict thread matches above, loose matches on Subject: below --
2009-03-05 12:11 jacmet at uclibc.org
2009-03-03 20:23 jacmet at uclibc.org
2009-02-03 14:29 jacmet at uclibc.org
2009-02-03 14:28 jacmet at uclibc.org
2009-01-28 15:48 jacmet at uclibc.org
2009-01-24  6:44 jacmet at uclibc.org
2009-01-16 14:21 jacmet at uclibc.org
2009-01-12 15:57 jacmet at uclibc.org
2009-01-12 15:01 jacmet at uclibc.org
2009-01-12 14:11 jacmet at uclibc.org
2009-01-02  8:30 ulf at uclibc.org
2008-12-29 15:22 jacmet at uclibc.org
2008-12-23 10:21 jacmet at uclibc.org
2008-12-23  9:39 jacmet at uclibc.org
2008-12-07 21:22 jacmet at uclibc.org
2008-12-01 14:53 jacmet at uclibc.org
2008-12-01 14:23 egtvedt at uclibc.org
2008-12-01 14:23 egtvedt at uclibc.org
2008-12-01 13:02 egtvedt at uclibc.org
2008-10-20 18:55 jacmet at uclibc.org
2008-10-20 15:23 jacmet at uclibc.org
2008-10-07  7:32 egtvedt at uclibc.org
2008-10-07  7:20 egtvedt at uclibc.org
2008-09-30  7:29 egtvedt at uclibc.org
2008-08-04 19:07 jacmet at uclibc.org
2008-06-18  8:51 jacmet at uclibc.org
2008-06-18  8:51 jacmet at uclibc.org
2008-06-17 13:30 jacmet at uclibc.org
2008-06-17 15:53 ` Bernhard Fischer
2008-06-17 18:44   ` Peter Korsgaard
2008-06-18  7:10     ` Bernhard Fischer
2008-06-18  7:38       ` Peter Korsgaard
2008-06-18  8:29         ` Bernhard Fischer
2008-05-31  7:28 jacmet at uclibc.org
2008-05-31  7:28 jacmet at uclibc.org
2008-05-31  7:27 jacmet at uclibc.org
2008-04-24  9:03 jacmet at uclibc.org
2008-04-17 13:25 nkukard at uclibc.org
2008-03-29 17:34 nkukard at uclibc.org
2008-03-29 16:23 nkukard at uclibc.org
2008-03-29 16:56 ` Peter Korsgaard
2008-03-29 17:20   ` Nigel Kukard
2008-03-27 10:23 jacmet at uclibc.org
2008-03-27 10:23 jacmet at uclibc.org
2008-03-06 18:50 ninevoltz at uclibc.org
2008-03-06 21:54 ` Peter Korsgaard
2007-11-15 15:44 vanokuten at uclibc.org
2007-11-15 10:16 vanokuten at uclibc.org
2007-10-12 15:12 ulf at uclibc.org
2007-09-30 12:43 aldot at uclibc.org
2007-09-28 22:16 ulf at uclibc.org
2007-09-28 21:44 ulf at uclibc.org
2007-09-27 23:54 ulf at uclibc.org
2007-09-27 21:51 aldot at uclibc.org
2007-09-27  0:18 ulf at uclibc.org
2007-09-26  9:09 ulf at uclibc.org
2007-09-25 14:13 ulf at uclibc.org
2007-09-25 13:37 ulf at uclibc.org
2007-09-25 16:06 ` vano
2007-09-25 14:30   ` Ulf Samuelsson
2007-09-25 16:47     ` vano
2007-09-25 16:14       ` Ulf Samuelsson
2007-09-24 12:19 aldot at uclibc.org
2007-09-22 16:40 aldot at uclibc.org
2007-08-29 18:05 aldot at uclibc.org
2007-08-26 20:55 aldot at uclibc.org
2007-08-26 20:40 aldot at uclibc.org
2007-08-21  8:05 aldot at uclibc.org
2007-08-16  5:01 ulf at uclibc.org
2007-08-14  7:07 ulf at uclibc.org
2007-08-12 12:37 ulf at uclibc.org
2007-08-01 19:13 ulf at uclibc.org
2007-08-01 12:11 ulf at uclibc.org
2007-07-30 18:23 ulf at uclibc.org
2007-07-29 17:47 ulf at uclibc.org
2007-07-30  7:36 ` Bernhard Fischer
2007-07-30 14:34   ` Ulf Samuelsson
2007-07-29 17:40 ulf at uclibc.org
2007-07-29 17:32 ulf at uclibc.org
2007-07-23 11:32 aldot at uclibc.org
2007-07-20 10:49 ulf at uclibc.org
2007-07-08 12:05 aldot at uclibc.org
2007-07-07 23:54 aldot at uclibc.org
2007-07-05  5:13 sjhill at uclibc.org
2007-06-28 12:14 aldot at uclibc.org
2007-06-26 16:58 aldot at uclibc.org
2007-06-25  8:16 aldot at uclibc.org
2007-06-24 14:38 aldot at uclibc.org
2007-06-13 18:14 aldot at uclibc.org
2007-06-07 16:18 aldot at uclibc.org
2007-06-07 12:16 aldot at uclibc.org
2007-05-12 18:39 aldot at uclibc.org
2007-05-10  2:37 sjhill at uclibc.org
2007-05-10  2:37 sjhill at uclibc.org
2007-04-28 17:08 sjhill at uclibc.org
2007-04-15  9:51 aldot at uclibc.org
2007-03-22 16:23 andersen at uclibc.org
2007-02-28 22:01 andersen at uclibc.org
2007-02-22  8:53 jacmet at uclibc.org
2007-02-20 11:06 jacmet at uclibc.org
2007-02-15 11:24 aldot at uclibc.org
2007-02-14 13:28 aldot at uclibc.org
2007-02-10 21:24 aldot at uclibc.org
2007-02-09 17:53 aldot at uclibc.org
2007-02-06 18:35 aldot at uclibc.org
2007-02-05 13:01 aldot at uclibc.org
2007-02-02 13:50 aldot at uclibc.org
2007-01-30 17:45 aldot at uclibc.org
2007-01-29 22:23 andersen at uclibc.org
2007-01-29 22:21 andersen at uclibc.org
2007-01-29 16:44 jacmet at uclibc.org
2007-01-28 12:11 aldot at uclibc.org
2007-01-25 20:27 andersen at uclibc.org
2007-01-24 15:12 aldot at uclibc.org
2007-01-21 21:11 aldot at uclibc.org
2007-01-20 22:03 aldot at uclibc.org
2007-01-16  9:35 aldot at uclibc.org
2006-12-15 14:40 aldot at uclibc.org
2006-12-15 13:39 aldot at uclibc.org
2006-12-15 14:31 ` Ulrich Hecht
2006-12-15 14:43   ` Bernhard Fischer
2006-12-14 15:17 aldot at uclibc.org
2006-12-14  2:50 andersen at uclibc.org
2006-12-13 13:07 andersen at uclibc.org
2006-12-13 12:42 andersen at uclibc.org
2006-12-13 12:41 andersen at uclibc.org
2006-12-13 12:34 andersen at uclibc.org
2006-12-13 11:51 andersen at uclibc.org
2006-12-13  6:59 andersen at uclibc.org
2006-12-02 18:30 aldot at uclibc.org
2006-10-02 18:52 andersen at uclibc.org
2006-09-25 14:28 jacmet at uclibc.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070707103914.2D43CA682F@busybox.net \
    --to=aldot@uclibc.org \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.