From: Kai Kang <[email protected]>

When compile with gcc 5.x, libhugetlbfs fails with:

| hugeutils.c: In function '__lh_hugetlbfs_setup_env':
| hugeutils.c:304:40: error: expected identifier or '(' before restrict'
|    char *p, *tok, *exe, buf[MAX_EXE+1], restrict[MAX_EXE];
|                                         ^

Rename variable to avoid using keyword restrict as variable name to fix it.

Signed-off-by: Kai Kang <[email protected]>
---
 ...ugetlbfs-avoid-using-restrict-as-var-name.patch | 34 ++++++++++++++++++++++
 .../libhugetlbfs/libhugetlbfs_git.bb               |  1 +
 2 files changed, 35 insertions(+)
 create mode 100644 
meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-using-restrict-as-var-name.patch

diff --git 
a/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-using-restrict-as-var-name.patch
 
b/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-using-restrict-as-var-name.patch
new file mode 100644
index 0000000..b77cfe1
--- /dev/null
+++ 
b/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-using-restrict-as-var-name.patch
@@ -0,0 +1,34 @@
+Avoid using keyword restrict as variable name which causes error with gcc 5.x:
+
+| hugeutils.c: In function '__lh_hugetlbfs_setup_env':
+| hugeutils.c:304:40: error: expected identifier or '(' before 'restrict'
+|    char *p, *tok, *exe, buf[MAX_EXE+1], restrict[MAX_EXE];
+|                                         ^
+
+Upstream-Status: Pending
+
+Signed-off-by: Kai Kang <[email protected]>
+---
+diff --git a/hugeutils.c b/hugeutils.c
+index 53a7fbd..b9d7001 100644
+--- a/hugeutils.c
++++ b/hugeutils.c
+@@ -301,14 +301,14 @@ void hugetlbfs_setup_env()
+ 
+       env = getenv("HUGETLB_RESTRICT_EXE");
+       if (env) {
+-              char *p, *tok, *exe, buf[MAX_EXE+1], restrict[MAX_EXE];
++              char *p, *tok, *exe, buf[MAX_EXE+1], restricted[MAX_EXE];
+               int found = 0;
+ 
+               exe = get_exe_name(buf, sizeof buf);
+               DEBUG("Found HUGETLB_RESTRICT_EXE, this exe is \"%s\"\n", exe);
+-              strncpy(restrict, env, sizeof restrict);
+-              restrict[sizeof(restrict)-1] = 0;
+-              for (p = restrict; (tok = strtok(p, ":")) != NULL; p = NULL) {
++              strncpy(restricted, env, sizeof restricted);
++              restricted[sizeof(restricted)-1] = 0;
++              for (p = restricted; (tok = strtok(p, ":")) != NULL; p = NULL) {
+                       DEBUG("  ...check exe match for \"%s\"\n",  tok);
+                       if (strcmp(tok, exe) == 0) {
+                               found = 1;
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb 
b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
index ae5e46a..b7cc416 100644
--- a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
@@ -18,6 +18,7 @@ SRC_URI = " \
     file://tests-Makefile-install-static-4G-edge-testcases.patch \
     file://0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch \
     file://libhugetlbfs-elf_i386-avoid-search-host-library-path.patch \
+    file://libhugetlbfs-avoid-using-restrict-as-var-name.patch \
 "
 
 S = "${WORKDIR}/git"
-- 
1.9.1

-- 
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to