diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2007-05-30 17:08:12 -0400 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2007-05-30 17:08:12 -0400 |
commit | 0193476ea790963884059c27d7fdd607a6f79019 (patch) | |
tree | 88a3fe2434eb3108c57b768652a79cb0c20efe13 | |
parent | 4e65d2678d0778915688f3b276543c357b4618ed (diff) | |
download | gem5-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
-rw-r--r-- | SConstruct | 3 | ||||
-rw-r--r-- | ext/libelf/SConscript | 12 | ||||
-rw-r--r-- | ext/libelf/elf_begin.c | 2 | ||||
-rw-r--r-- | ext/libelf/elf_common.h | 6 | ||||
-rw-r--r-- | ext/libelf/elf_strptr.c | 3 | ||||
-rw-r--r-- | ext/libelf/elf_update.c | 3 | ||||
-rw-r--r-- | ext/libelf/libelf_allocate.c | 2 |
7 files changed, 24 insertions, 7 deletions
diff --git a/SConstruct b/SConstruct index a6659fe9b..173910010 100644 --- a/SConstruct +++ b/SConstruct @@ -182,7 +182,6 @@ for t in abs_targets: env = Environment(ENV = os.environ, # inherit user's environment vars ROOT = ROOT, SRCDIR = SRCDIR) -Export('env') #Parse CC/CXX early so that we use the correct compiler for # to test for dependencies/versions/libraries/includes @@ -192,6 +191,8 @@ if ARGUMENTS.get('CC', None): if ARGUMENTS.get('CXX', None): env['CXX'] = ARGUMENTS.get('CXX') +Export('env') + env.SConsignFile(joinpath(build_root,"sconsign")) # Default duplicate option is to use hard links, but this messes up 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" |