diff --git a/arch/sparc/isa/decoder.isa b/arch/sparc/isa/decoder.isa index 792918267..ca409fa66 100644 --- a/arch/sparc/isa/decoder.isa +++ b/arch/sparc/isa/decoder.isa @@ -127,7 +127,7 @@ decode OP default Unknown::unknown() if(Rd.udw<63:31> != 0) Rd.udw = 0x7FFFFFFF; else if(Rd.udw<63:> && Rd.udw<62:31> != 0xFFFFFFFF) - Rd.udw = 0xFFFFFFFF80000000; + Rd.udw = 0xFFFFFFFF80000000ULL; } }}); } @@ -214,7 +214,7 @@ decode OP default Unknown::unknown() overflow = (resTemp<63:31> != 0); underflow = (resTemp<63:> && resTemp<62:31> != 0xFFFFFFFF); if(overflow) Rd = resTemp = 0x7FFFFFFF; - else if(underflow) Rd = resTemp = 0xFFFFFFFF80000000; + else if(underflow) Rd = resTemp = 0xFFFFFFFF80000000ULL; else Rd = resTemp; } }}, {{0}}, diff --git a/arch/sparc/process.cc b/arch/sparc/process.cc index f771b0d19..7f2b0d40a 100644 --- a/arch/sparc/process.cc +++ b/arch/sparc/process.cc @@ -85,7 +85,7 @@ SparcLiveProcess::SparcLiveProcess(const std::string &nm, ObjectFile *objFile, // Set up stack. On SPARC Linux, stack goes from the top of memory // downward, less the hole for the kernel address space. - stack_base = ((Addr)0x80000000000); + stack_base = ((Addr)0x80000000000ULL); // Set up region for mmaps. Tru64 seems to start just above 0 and // grow up from there.