From 6b6445eeb92e9ef40e08348691c47aa3153c088d Mon Sep 17 00:00:00 2001 From: Nathan Binkert Date: Sat, 4 Jun 2005 14:16:04 -0400 Subject: more portable arch/alpha/alpha_tru64_process.cc: Sort #includes Make code more portable. g++ doesn't seem to always like struct ::stat (and others). So, we typedef stat outside of the namespace as something else and use the typedef base/hostinfo.cc: use snprintf to quell warning base/inifile.cc: use strncpy to quell warning base/stats/events.cc: don't use strcpy cpu/beta_cpu/btb.cc: use FloorLog2 instead of log2 cpu/beta_cpu/comm.hh: cpu/beta_cpu/inst_queue.hh: cpu/beta_cpu/sat_counter.hh: use sim/host.hh instead of stdint.h --HG-- extra : convert_revision : 59bd9235dda74e72a8b6a70b3f3a981840384f3f --- arch/alpha/alpha_tru64_process.cc | 53 +++++++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 21 deletions(-) (limited to 'arch') diff --git a/arch/alpha/alpha_tru64_process.cc b/arch/alpha/alpha_tru64_process.cc index 6fe4290e8..4d73e711f 100644 --- a/arch/alpha/alpha_tru64_process.cc +++ b/arch/alpha/alpha_tru64_process.cc @@ -26,32 +26,39 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include -#include -#include // for host open() flags #include #include +#if defined(__OpenBSD__) +#include +#include +#else #include -#include // for memset() +#endif + #include +#include +#include // for host open() flags +#include // for memset() +#include -#include "sim/host.hh" +#include "arch/alpha/alpha_common_syscall_emul.hh" +#include "arch/alpha/alpha_tru64_process.hh" +#include "base/trace.hh" #include "cpu/base_cpu.hh" -#include "mem/functional_mem/functional_memory.hh" -#include "sim/process.hh" #include "cpu/exec_context.hh" +#include "mem/functional_mem/functional_memory.hh" #include "sim/fake_syscall.hh" - -#include "arch/alpha/alpha_common_syscall_emul.hh" -#include "arch/alpha/alpha_tru64_process.hh" - +#include "sim/host.hh" +#include "sim/process.hh" +#include "sim/root.hh" #include "sim/syscall_emul.hh" -#include "sim/root.hh" // for curTick & ticksPerSecond - -#include "base/trace.hh" using namespace std; +typedef struct stat global_stat; +typedef struct statfs global_statfs; +typedef struct dirent global_dirent; + /// /// This class encapsulates the types, structures, constants, /// functions, and syscall-number mappings specific to the Alpha Tru64 @@ -530,7 +537,7 @@ class Tru64 { /// memory space. Used by stat(), fstat(), and lstat(). template static void - copyOutStatBuf(FunctionalMemory *mem, Addr addr, struct ::stat *host) + copyOutStatBuf(FunctionalMemory *mem, Addr addr, global_stat *host) { TypedBufferArg tgt(addr); @@ -556,11 +563,15 @@ class Tru64 { /// memory space. Used by statfs() and fstatfs(). template static void - copyOutStatfsBuf(FunctionalMemory *mem, Addr addr, struct ::statfs *host) + copyOutStatfsBuf(FunctionalMemory *mem, Addr addr, global_statfs *host) { TypedBufferArg tgt(addr); +#if defined(__OpenBSD__) + tgt->f_type = 0; +#else tgt->f_type = host->f_type; +#endif tgt->f_bsize = host->f_bsize; tgt->f_blocks = host->f_blocks; tgt->f_bfree = host->f_bfree; @@ -575,13 +586,13 @@ class Tru64 { class F64 { public: static void copyOutStatBuf(FunctionalMemory *mem, Addr addr, - struct ::stat *host) + global_stat *host) { Tru64::copyOutStatBuf(mem, addr, host); } static void copyOutStatfsBuf(FunctionalMemory *mem, Addr addr, - struct ::statfs *host) + global_statfs *host) { Tru64::copyOutStatfsBuf(mem, addr, host); } @@ -590,13 +601,13 @@ class Tru64 { class PreF64 { public: static void copyOutStatBuf(FunctionalMemory *mem, Addr addr, - struct ::stat *host) + global_stat *host) { Tru64::copyOutStatBuf(mem, addr, host); } static void copyOutStatfsBuf(FunctionalMemory *mem, Addr addr, - struct ::statfs *host) + global_statfs *host) { Tru64::copyOutStatfsBuf(mem, addr, host); } @@ -826,7 +837,7 @@ class Tru64 { char *host_buf_ptr = host_buf; char *host_buf_end = host_buf + host_result; while (host_buf_ptr < host_buf_end) { - struct ::dirent *host_dp = (struct ::dirent *)host_buf_ptr; + global_dirent *host_dp = (global_dirent *)host_buf_ptr; int namelen = strlen(host_dp->d_name); // Actual size includes padded string rounded up for alignment. -- cgit v1.2.3