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
2
votes
2 answers

Emulating Solaris 10 SPARC on QEMU

I have an old Solaris SPARC application that I'm trying to get running. I learned from this question that x86 Solaris won't cut it. I recently learned that VM virtualbox can't emulate SPARC architecture. Therefore, I am currently trying to emulate…
code11
  • 1,986
  • 5
  • 29
  • 37
2
votes
1 answer

Leaf functions in SPARC and HP-UX

I was just reading through a Phrack article which had disassembly in HP-UX. I read that there are two classes of functions which are possible under HP-UX and SPARC; leaf and non-leaf functions. Following is a section of the disassembly I have taken…
user277465
2
votes
0 answers

gcc 4.9 debug version build on Solaris Sparc

I am trying to build a debug version of gcc 4.9.2 on Solaris 10 sparc. I've configured as (mostly following this link: https://lucamerello.wordpress.com/2014/05/31/solaris-10-how-to-build-and-install-gcc-4/): ../configure…
Jane2004
  • 31
  • 3
2
votes
1 answer

SPARC - Bit mask without shift

I'm learning SPARC assembly and I have to create a script that extracts a field from a register. The script accepts 3 values, initial number, field start position, field length. It can't use any shift functions, but it can use multiply and…
derrickp
  • 203
  • 1
  • 7
2
votes
1 answer

SPARC assembly, How a C pointer to struct is accessed

I have a small piece of SPARC assembly code that I'm trying to understand. .section ".text" .global tt_0x09 tt_0x09: /* Find AHBSTAT */ set ahbstat, %l3 ld [%l3], %l3 /* Get failing address from AHBSTAT faddr. */ ld [%l3 + 4], %l4 set…
Andak
  • 124
  • 12
2
votes
4 answers

Profiler for Solaris SPARC Platform (for C++ applications)

Is there a profiler for the Solaris 10 SPARC architecture for the use with c++ applications? If it matters: We're using gcc for compiling our c++ sources.
MRalwasser
  • 15,605
  • 15
  • 101
  • 147
2
votes
0 answers

Using SunPKCS11 security provider on Solaris SPARC 11.3 shoots up JVM CPU consumption

We have a Solaris SPARC system (Oracle Solaris 11.3 SPARC) running Apache Tomcat 8.0.41. On this system, we are observing very high CPU consumption under a small web server load. Specifically, running 10-15 concurrent HTTPS requests threads causes…
kkgupta
  • 21
  • 2
2
votes
1 answer

solaris gcc lib question

just compiled gcc on solaris 2.10. My question: what is the difference between the lib/...so and lib/sparcv9/...so files…
Alex
  • 161
  • 1
  • 4
2
votes
2 answers

JAVA 8 crashes with Fatal Error Log on startup - Solaris 10 (sparc)

I have multiple Solaris 10 hosts all working and running correctly with Java 7. I cannot get any flavor of Java 8 to work with my application or other java applications I have on the host. It fails at startup and writes a Fatal error log. The…
garneke
  • 35
  • 6
2
votes
3 answers

how to compile thread local storage (TLS) on 64-bit solaris sparc with g++

I have a piece of C/C++ code that uses __thread keyword for thread local storage but having trouble getting it compiled on 64-bit Solaris Sparc with g++ (version 4.0.2), while it compiles and runs OK on linux with g++34 compiler. Here is an example…
Charles
  • 21
  • 1
  • 2
2
votes
1 answer

Issues with building PROC application using Oracle 10g 64 bit

I am trying to build my PRO* C application in 32 bit mode using Oracle 10g 64 bit on Solaris SPARC platform. Can someone tell me what settings has to be made in order to successfully compiler and create an executable? Currently when I switch my…
Jegan Kunniya
  • 986
  • 3
  • 17
  • 27
2
votes
1 answer

Relocation overflow when performing bitwise AND (SPARC Assembly)?

I am trying to perform a bitwise AND on a register, as a bitmask to remove the most significant bit (which happens to be bit 16 when counting from 0). However, when I try to compile my code using gcc, it gives me the following error…
badpanda
  • 2,446
  • 5
  • 34
  • 45
2
votes
2 answers

What macro are predefined by gcc for different SPARC processors?

What macroses are predefined for C programms by GCC complier running on different SPARC processors. OS is the Linux. So how can I distinguish between UltraSPARC, SuperSPARC, Niagara, SPARC64, etc in compile time. Thanks
osgx
  • 90,338
  • 53
  • 357
  • 513
2
votes
2 answers

Does linux kernel assume that it is located at a particular physical address?

Can the bootloader place the kernel at an arbitrary physical address in memory ? Does the linux kernel assume that it has been placed at a particular address ? For example, in Sparc, the kernel _start symbol is located at virtual address=0xf0004000,…
Neha Karanjkar
  • 3,390
  • 2
  • 29
  • 48
2
votes
2 answers

Sparc Procedure Call Conventions

I would like to do some "inline" assemly programming in Sparc and I am wondering how I can do that with register passing. Best to explain my issue with a small example int main() { int a = 5; int b = 6; int res; asm_addition(a,b); …
Martin
  • 21
  • 1