Questions tagged [sparc]

SPARC(Scalable Processor Architecture) Sun Microsystems's specific CPU.

SPARC is a RISC instruction set architecture (ISA) developed by Sun Microsystems (now merged into Oracle), introduced in mid-1987.

SPARC hardware often runs Solaris, the Unix operating system, but other OSes run on SPARC hardware, and runs on more than just SPARC hardware.

SPARC doesn't allow unaligned loads, so SIGBUS (bus error) faults are a common problem when porting C or C++ to SPARC from x86 (for example).

In assembly, SPARC's 32 architectural registers are a sliding window onto a virtual register file. The save instruction that slides the window might or might not spill to memory, depending on whether the CPU microarchitecture is out of registers when it runs.

287 questions
1
vote
0 answers

JVM crashes while web crawling with Apache Nutch 1.15 in Solaris 9

JVM is crashing every time while web crawling using Apache Nutch 1.15 in solaris server. Using 64 bit JVM 1.8.0_181-b13 for solaris-sparc. Any idea to resolve below error. JDK 1.8 Apache Nutch 1.15 This happens when crawl script is executed. Even…
1
vote
2 answers

SPARC Assembly question

I wanna write a very simple inline assembly routine in my C program which does nothing else then setting the local registers %l0 - %l7 to different values. I tried the following straightforward approach: asm volatile ( ".text\n\t" "mov 0,…
reinhard
  • 71
  • 1
  • 1
  • 4
1
vote
0 answers

DBX showing incorrect values in shared library built with -g

-bash-3.2$ uname -a SunOS b2s-sol10spr-1 5.10 Generic_147147-26 sun4v sparc sun4v -bash-3.2$ dbx -V Sun DBX Debugger 8.0 SunOS_sparc 2014/10/21 For information about new features see `help changes' To remove this message, put `dbxenv…
Bwmat
  • 4,314
  • 3
  • 27
  • 42
1
vote
1 answer

How to generate SPARC HW traps (trap type tt < 128)

I'm programming a SPARC v8 (32bit) system and need to verify response to HW traps. The SPARC provides 256 traps, each of which differing by the trap type, tt, of which the first 128 are the HW traps, and trap types 128 to 255 are software traps. The…
Jens
  • 69,818
  • 15
  • 125
  • 179
1
vote
2 answers

Issue with unsigned long long int with sparc assembly code on sparc64

I have an issue with the C code below into which I have included Sparc Assembly. The code is compiled and running on Debian 9.0 Sparc64. It does a simple summation and print the result of this sum which equals to nLoop. The problem is that for an…
user1773603
1
vote
0 answers

using a trap to output characters in assembly using SPARC instruction set

My assignment is as follows: Given the assembly code below, write a successfully executing trap that prints out the message “It’s a Trap” and returns to your main code. I believe most of the work has already been done and this is likely an easy…
Trixie the Cat
  • 317
  • 3
  • 18
1
vote
2 answers

Classic Hello World in assembly language using SPARC instruction set

I need help understanding a basic implementation of the hello world program in assembly language using the SPARC instruction set. I have the fully functioning code below I just need help understanding how it works. I could not figure out how to…
Trixie the Cat
  • 317
  • 3
  • 18
1
vote
2 answers

In elf-gcc, exp() works correctly only for the first call than not afterwards

I'm running time-consuming algorithm with bare-metal program(no OS) on our board using a processor(sparc architecture) developed in our team, and using gcc elf toolchain. With soft-float, it works fine, and I get the desired result after more than…
Chan Kim
  • 5,177
  • 12
  • 57
  • 112
1
vote
1 answer

Valid and Invalid Windows in SPARC V8

What criteria does a register window need to hold in order to be considered valid or invalid? My understanding is that, if a window contains information relative to some function, say, in a chain of functions, then it contains valid information. If…
BVCGAAV
  • 301
  • 1
  • 4
  • 11
1
vote
1 answer

Avatar.js on SPARC

Node JS application is working fine with Linux, windows and Solaris. But Node JS is not working in SPARC system because it is not supporting V8 engine. Myself found a External project called AVATAR, which is used to run NODE JS Programs in JVM (Java…
Manu C Rajan
  • 153
  • 1
  • 2
  • 13
1
vote
2 answers

Using gdb to find exactly where the error occurs (SPARC assembly)

I'm trying to use gdb to debug my assembly subroutine, but was having trouble trying to determine where exactly the program reaches a segfault. I run it until it reaches the segfault, then use the 'where' command, which gives me this: 0x00010e40 in…
1
vote
1 answer

Position dependent code

I am using a processor that uses sparc v8 architecture. I would like to compile my executable such that each function call is absolute address. Using -fPIC option generate position independent code, is there any reverse of this flag ?
zephyr0110
  • 223
  • 1
  • 11
1
vote
1 answer

Saving stack pointer causes segmentation fault when output is redirected

I'm writing a Sparc compiler. One of my test cases runs fine normally, but crashes when the output is redirected to a file. Using GDB, I have found that this is the line that causes the segfault: save %sp, -800, %sp Am I out of stack space? What's…
Reed Morse
  • 1,398
  • 2
  • 10
  • 17
1
vote
0 answers

Where is the static function name allocated in C running time environment with SPARC structure?

Suppose that this C program is running on a SPARC structure. I think that normal function's name is allocated in .text, but static one is allocated in BSS? Is that correct? For example, this is a C static function static void fubar( int b ) { …
Patroclus
  • 1,163
  • 13
  • 31
1
vote
2 answers

How to convert "or" to SPARC assembly?

I'm trying to convert the following line to SPARC assembly (using negative logic): if (i < a || i > b) {...} But I've stuck on how to convert "or" to bitwise or in SPARC. And I couldn't find helpful documentations to convert this. Can someone help?…
turf
  • 183
  • 2
  • 2
  • 16