summaryrefslogtreecommitdiff
path: root/ext/libelf
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2007-05-30 17:08:12 -0400
committerAli Saidi <saidi@eecs.umich.edu>2007-05-30 17:08:12 -0400
commit0193476ea790963884059c27d7fdd607a6f79019 (patch)
tree88a3fe2434eb3108c57b768652a79cb0c20efe13 /ext/libelf
parent4e65d2678d0778915688f3b276543c357b4618ed (diff)
downloadgem5-0193476ea790963884059c27d7fdd607a6f79019.tar.xz
Fix compiling on Solaris since Nate's libelf change
SConstruct: export env after we've set CC/CXX ext/libelf/SConscript: pull in the CC/CXX variables from env. Use gm4 if it exists ext/libelf/elf_begin.c: ext/libelf/libelf_allocate.c: include errno.h instead of sys/errno.h ext/libelf/elf_common.h: use the more standard uintX_t ext/libelf/elf_strptr.c: ext/libelf/elf_update.c: include sysmacros.h on Solaris for roundup() --HG-- extra : convert_revision : ea1aab834029399c445dfa4c9f78febf2c3d8f0c
Diffstat (limited to 'ext/libelf')
-rw-r--r--ext/libelf/SConscript12
-rw-r--r--ext/libelf/elf_begin.c2
-rw-r--r--ext/libelf/elf_common.h6
-rw-r--r--ext/libelf/elf_strptr.c3
-rw-r--r--ext/libelf/elf_update.c3
-rw-r--r--ext/libelf/libelf_allocate.c2
6 files changed, 22 insertions, 6 deletions
diff --git a/ext/libelf/SConscript b/ext/libelf/SConscript
index 2fae8c25f..aebd0da85 100644
--- a/ext/libelf/SConscript
+++ b/ext/libelf/SConscript
@@ -28,7 +28,7 @@
#
# Authors: Nathan Binkert
-import os
+import os, subprocess
Import('env')
@@ -88,6 +88,15 @@ ElfFile('libelf_fsize.c')
ElfFile('libelf_msize.c')
m4env = Environment(ENV=os.environ)
+if env.get('CC'):
+ m4env['CC'] = env['CC']
+if env.get('CXX'):
+ m4env['CXX'] = env['CXX']
+# If we have gm4 use it
+if subprocess.Popen("gm4 --version", shell=True, stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT, close_fds=True).communicate()[0].find('GNU') >= 0:
+ m4env['M4'] = 'gm4'
+
m4env.Append(M4FLAGS='-DSRCDIR=%s' % Dir('.').path)
m4env['M4COM'] = '$M4 $M4FLAGS $SOURCES > $TARGET'
m4env.M4(target=File('libelf_convert.c'),
@@ -101,3 +110,4 @@ m4env.Library('elf', elf_files)
env.Append(CPPPATH=Dir('.'))
env.Append(LIBS=['elf'])
env.Append(LIBPATH=[Dir('.')])
+
diff --git a/ext/libelf/elf_begin.c b/ext/libelf/elf_begin.c
index 1ffd26651..1b37aa061 100644
--- a/ext/libelf/elf_begin.c
+++ b/ext/libelf/elf_begin.c
@@ -26,7 +26,7 @@
#include <sys/types.h>
-#include <sys/errno.h>
+#include <errno.h>
#include <sys/mman.h>
#include <sys/stat.h>
diff --git a/ext/libelf/elf_common.h b/ext/libelf/elf_common.h
index 0a48d5cb2..c169e7e40 100644
--- a/ext/libelf/elf_common.h
+++ b/ext/libelf/elf_common.h
@@ -45,9 +45,9 @@
*/
typedef struct {
- u_int32_t n_namesz; /* Length of name. */
- u_int32_t n_descsz; /* Length of descriptor. */
- u_int32_t n_type; /* Type of this note. */
+ uint32_t n_namesz; /* Length of name. */
+ uint32_t n_descsz; /* Length of descriptor. */
+ uint32_t n_type; /* Type of this note. */
} Elf_Note;
/* Indexes into the e_ident array. Keep synced with
diff --git a/ext/libelf/elf_strptr.c b/ext/libelf/elf_strptr.c
index b89b0eac7..6a05fa1d4 100644
--- a/ext/libelf/elf_strptr.c
+++ b/ext/libelf/elf_strptr.c
@@ -26,6 +26,9 @@
#include <sys/param.h>
+#ifdef __sun
+#include <sys/sysmacros.h>
+#endif
#include <assert.h>
#include "gelf.h"
diff --git a/ext/libelf/elf_update.c b/ext/libelf/elf_update.c
index 513789563..6959d3c3e 100644
--- a/ext/libelf/elf_update.c
+++ b/ext/libelf/elf_update.c
@@ -27,6 +27,9 @@
#include <sys/mman.h>
#include <sys/param.h>
+#ifdef __sun
+#include <sys/sysmacros.h>
+#endif
#include <assert.h>
#include <errno.h>
diff --git a/ext/libelf/libelf_allocate.c b/ext/libelf/libelf_allocate.c
index c4c1b6ac5..9e1280c47 100644
--- a/ext/libelf/libelf_allocate.c
+++ b/ext/libelf/libelf_allocate.c
@@ -28,7 +28,7 @@
* Internal APIs
*/
-#include <sys/errno.h>
+#include <errno.h>
#include <assert.h>
#include "libelf.h"