Sponsored Content
Operating Systems Solaris How do I compile a 64-bit program on SPARC?? Post 302274200 by amit_27 on Wednesday 7th of January 2009 03:11:16 AM
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.
 

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. 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

6. 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

7. 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

8. 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

9. 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

10. 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
types.h(3HEAD)                                                        Headers                                                       types.h(3HEAD)

NAME
types.h, types - primitive system data types SYNOPSIS
#include <sys/types.h> DESCRIPTION
The data types defined in <sys/types.h> are as follows: 32-bit Solaris The data types listed below are defined in <sys/types.h> for 32-bit Solaris. typedef struct { int r[1]; } *physadr; typedef long clock_t; typedef long daddr_t; typedef char * caddr_t; typedef unsigned char unchar; typedef unsigned short ushort; typedef unsigned int uint; typedef unsigned long ulong_t; typedef unsigned long ino_t; typedef long uid_t; typedef long gid_t; typedef ulong_t nlink_t; typedef ulong_t mode_t; typedef short cnt_t; typedef long time_t; typedef int label_t[10]; typedef ulong_t dev_t; typedef long off_t; typedef long pid_t; typedef long paddr_t; typedef int key_t; typedef unsigned char use_t; typedef short sysid_t; typedef short index_t; typedef short lock_t; typedef unsigned int size_t; typedef long clock_t; typedef long pid_t; 64-bit Solaris The data types listed below are defined in <sys/types.h> for 64-bit Solaris. typedef long blkcnt_t typedef long clock_t typedef long daddr_t typedef ulong_t dev_t typedef ulong_t fsblkcnt_t typedef ulong_t fsfilcnt_t typedef int gid_t typedef int id_t typedef long ino_t typedef int key_t typedef uint_t major_t typedef uint_t minor_t typedef uint_t mode_t typedef uint_t nlink_t typedef int pid_t typedef ptrdiff_t intptr_t typedef ulong_t rlim_t typedef ulong_t size_t typedef uint_t speed_t typedef long ssize_t typedef long suseconds_t typedef uint_t tcflag_t typedef long time_t typedef int uid_t typedef int wchar_t Preprocessor Symbols For 32-bit programs, pointers and the C data types int and long are all 32-bit quantities. For 64-bit programs, pointers and the C data type long are defined as 64-bit quantities. The preprocessor symbol _ILP32, made visible by the inclusion of <sys/types.h>, can be used with the preprocessor #ifdef construct to define sections of code that will be compiled only as part of a 32-bit version of a given C program. The preprocessor symbol _LP64 can be used in the same way to define sections of code that will be compiled only as part of a 64-bit version of a given C program. See EXAMPLES. This header incorporates definitions of other preprocessor symbols that can be useful when keeping code portable between different instruc- tion set architectures. _LITTLE_ENDIAN _BIG_ENDIAN The natural byte order of the processor. A pointer to an int points to the least/most significant byte of that int. _STACK_GROWS_UPWARD _STACK_GROWS_DOWNWARD The processor specific direction of stack growth. A push onto the stack increases/decreases the stack pointer, so it stores data at successively higher/lower addresses. _CHAR_IS_UNSIGNED _CHAR_IS_SIGNED The C Compiler implements objects of type char as unsigned or signed respectively. This is really an implementation choice of the com- piler, but it is specified in the ABI and tends to be uniform across compilers for an instruction set architecture. _CHAR_ALIGNMENT _SHORT_ALIGNMENT _INT_ALIGNMENT _LONG_ALIGNMENT _LONG_LONG_ALIGNMENT _DOUBLE_ALIGNMENT _LONG_DOUBLE_ALIGNMENT _POINTER_ALIGNMENT _FLOAT_ALIGNMENT The ABI defines alignment requirements of each of the primitive object types. Some, if not all, might be hardware requirements as well. The values are expressed in bytes. _MAX_ALIGNMENT The most stringent alignment requirement as specified by the ABI. Equal to the maximum of all the above _XXX_ALIGNMENT values. _LONG_LONG_ALIGNMENT_32 The 32-bit ABI supported by a 64-bit kernel may have different alignment requirements for primitive object types. The value of this identifier is expressed in bytes. USAGE
The daddr_t type is used for disk addresses except in an inode on disk. Times are encoded in seconds since 00:00:00 UTC, January 1, 1970. The major and minor parts of a device code specify kind and unit number of a device and are installation-dependent. Offsets are measured in bytes from the beginning of a file. The label_t[] types are used to save the processor state while another process is running. EXAMPLES
Example 1: Use of preprocessor symbol _LP64. In the following example, the preprocessor symbol _LP64 defines sections of code that will be compiled only as part of a 64-bit version of the given C program. #include <sys/types.h> ... #ifdef _LP64 printf("The data model is LP64 in this environment "); #else #ifdef _ILP32 printf("The data model is ILP32 in this environment "); #else #error "Unknown data model!" #endif #endif ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Stable | +-----------------------------+-----------------------------+ SEE ALSO
types32.h(3HEAD), attributes(5), standards(5) SunOS 5.10 6 Oct 2004 types.h(3HEAD)
All times are GMT -4. The time now is 01:00 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy