How do I compile a 64-bit program on SPARC??


 
Thread Tools Search this Thread
Operating Systems Solaris How do I compile a 64-bit program on SPARC??
# 1  
Old 01-05-2009
How do I compile a 64-bit program on SPARC??

Hi,

wcslen(), strlen() returns size_t.
On 64-bit platform i want to use int like

str length is 10.

int len = wcslen(str);


On 64-bit what should I need to do if i wants the length in int. Because getting error as "Conversion of 64 bit type value to "int" causes truncation".
if i will use size_t instead of int like
size_t len = wcslen(str);

Then it is feasible. Should I do casting like:

int len = (int) wcslen(str);

which is better to use?
# 2  
Old 01-05-2009
on 64-bit platforms, size_t is probably 64 bits, while int is probably 32 (not always the case though, and is sometimes compiler or compiler-setting specific. Anyway, you should use
Code:
size_t len = wcslen(str);

To test to see how long each is, do:
Code:
#include <stdio.h>
main (int c, char **v) { 
printf("int length is %d\nsize_t length is %d\n",sizeof(int), sizeof(size_t));
}

# 3  
Old 01-07-2009
unsigned long to unsigned int on 64-bit

Hi,

I have written code like this :

On 32-bit -
typedef unisgned long DWORD;
string length is 50;
DWORD len = wcslen(string);

But on 64-bit getting porting error -Conversion of 64 bit type value to "int" causes truncation

I made changes into the code like:
#ifdef _LP64
typedef unisgned int DWORD;
#else
typedef unisgned long DWORD;
#endif

Still it is giving error like "Conversion of 64 bit type value to "unsigned" causes truncation"

instead of int - unsigned is given in error.

Any pointers will be helpful.
# 4  
Old 01-07-2009
Again, The problem with casting signed int into unsigned int is that this discards the "sign" bit (it's a tad bit more complicated than that). For some reason, size_t appears to be signed, and therefore can be negative. You cannot convert a negative number of any size into a bigger integer that is non-negative. (It can be done, but you risk "losing information"). So either ignore the warning, or make size_t unsigned, or make DWORD signed.
# 5  
Old 01-12-2009
'gcc' option to build code for 64-bit platform on Soalris.

I have '.c' files. I wanted to build this for 64-bit platform.
I am using gcc to compile these .c files.
But if i use
gcc +w2 -D_REENTRANT -D_POSIX_C_SOURCE=199506L -D__EXTENSIONS__ -xarch=v9 -O2 -g -Wall -fno-strict-aliasing

To find out the warnings for truncation or porting.

It is giving me error as :
gcc: +w2: No such file or directory
gcc: language xarch=v9 not recognized


Can you please tell me the what is the other option can be used with gcc to build the code 64-bit compatible?
# 6  
Old 01-13-2009
lint tool query.

I am trying to use lint with .c files.
Let me know that if i am giving command like:

>> lint test.c


But test.c has included other user define header files. So How can I get reference to the header file while executing lint command.
I am getting error for header file as:
" cannot find include file"

How to specify the path of header file with the lint command?
# 7  
Old 01-13-2009
Please respond to my query via private message.

I do not currently have lint on any of my systems. It is largely obsolete, in my opinion, by GCC's -Wall -pedantic. What does "man lint" tell you?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

Need help to compile and create python64 bit (2.7.9) on Solaris10

Hi, I am trying to build python(2.7.9) 64 bit from source on solaris10. Using the below to compile ./configure CFLAGS=-m64 LDFLAGS=-m64 But getting errors like below while executing make make: Fatal error: Command failed for target `libinstall' OS info: isainfo -v 64-bit amd64... (9 Replies)
Discussion started by: Sumanthsv
9 Replies

2. Solaris

Need to install /usr/lib/libiconv.so.2 Solaris Sparc 64 bit package

Hi, Can anyone help me out in getting download the below required package for Solaris 10 SPARC 64-bit machine. Thanks in advance. (3 Replies)
Discussion started by: prash358
3 Replies

3. Programming

c program to set the m-bit to n-bit

I have a 32bit number and without using for loop,I want to set mbit to n bit. Say m bit may be 2nd or 5th or 9th or 10th.n bit may be 22nd or 27or 11th bit. I assume m<n. Please help me.Thanks acdc (6 Replies)
Discussion started by: acdc
6 Replies

4. Linux

Request: Compile Earlier Version of XTIDE and upload XTTPD binary on 64 bit Linux

Can someone try to compile this older version of xtide (attached) on 64-bit Intel/Linux and upload the xttpd binary? I have a friend who needs an older version up and running because the newer version does not support his required harmonic files. Thanks! (7 Replies)
Discussion started by: Neo
7 Replies

5. Solaris

64 Bit SPARC Solaris 10 Install

I downloaded the iso image from here and burnt it on DVD. But when I tried installing it..it said boot device not availiable. Do I have to make it bootable? Is there any other component that I need to write on DVD other than the image? Moreover the DVD which I received from my admin for... (5 Replies)
Discussion started by: sumeet
5 Replies

6. Linux

Is it possible to compile 64 bit application on 32 bit machine

Hi, I am using 32 bit machine, and I want to compile 64 bit application on 32-bit machine. So please tell me is it possible or not? Regards Mandar (7 Replies)
Discussion started by: Mandar123
7 Replies

7. Solaris

Difference between sun sparc 32-bit and sun sparc 64-bit

Hi , could you please clarify me the difference between sun sparc 32-bit and sun sparc 64-bit? means on which processors these are supporting (pentium processors, sun sparc processors) Regards, Rajesh (1 Reply)
Discussion started by: pmrajesh21
1 Replies

8. Solaris

soalris 10 sparc 64-bit

Hi all, When i use the command ps , it throws the error like this "ld.so.1: ps: fatal: /lib/libc.so.1: wrong ELF class: ELFCLASS32 Killed" Some of the commands will work.say for e.g. who,cp but w will not work. Please can anyone help me on this to solve this... (7 Replies)
Discussion started by: shanshine
7 Replies

9. Programming

compile a c program

I am trying to compile a c program on AIX 5.3L 64-bit unix. I have used this program in the past and it works. Does anybody know what this error means? /usr/local/bin> gcc get_epoch_secs.c get_epoch_secs gcc: get_epoch_secs: No such file or directory get_epoch_secs.c: In function... (8 Replies)
Discussion started by: djehresmann
8 Replies

10. Solaris

error: compile 64 bit mysql on Solaris 10

I'm trying to build 64 bit mysql-5.0.37 on Solaris 10. CFLAGS="-O3" CXX='gcc -m64 -mcpu=v9' CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" ./configure -disable-shared --prefix=/usr/local/mysql --datadir=/home1/mysql_data --with-mysqld-user=mysql ... (0 Replies)
Discussion started by: csross
0 Replies
Login or Register to Ask a Question