01-12-2009
I have gcc 4.1.1 installed. Maybe you have an older version. If so, this might not apply to you.
I am not familiar with the options you mentioned, but the v9 is definitely SPARC architecture specific. Using "-m64" will produce code for the 64-bit platform, which would be the default anyway. ints will be 32 bits, and pointers and longs will be 64-bits. You could use -mabi=32 will generate 32-bit code for your 64-bit platform. This might result in an inability to link against 64-bit libraries, but if you have 32-bit libraries also installed, it should work. You can do something similar with "-mlong32", which forces all longs and pointer types to 32 bits (but still uses the 64-bit abi so it could run on a 64 bit platform). It might be possible to combine -mlong-calls with this to ensure proper behavior with the linker, but that's just a WAG (wild ass guess).
I thought there was a way to tell the compiler to treat an "int" as 64-bits, but I cannot find an option for that in the manual. You can always use the preprocessor to try to change "int" into "long", but that might not work in some instances.
I found some links that might help:
http://gcc.fyxm.net/summit/2003/Port...2064%20bit.pdf
This link specifically says you must use gcc 4 and later, and mentions a few options pertinent to your task.
64-Bit Transition Guide: Compiling 64-Bit Code Using GCC
9 More Discussions You Might Find Interesting
1. AIX
Hi all,
I am facing problem in porting to 64 bit AIX especially with compiling options to compile and run under 64 bit kernel.Can any one put some light on the issue
thanks in advance
vishal (14 Replies)
Discussion started by: vishalzone2002
14 Replies
2. UNIX for Dummies Questions & Answers
Alright. As the title states, I'm working with a UNIX based web server(Sun Fire v120). The problem I'm currently having is trying to properly configure it for hosting. If anyone could help me out, it would be great.
Much thanks.
-XTIZ3 (2 Replies)
Discussion started by: XTIZ3
2 Replies
3. Solaris
Hi,
I am trying to convert 32-bit code to 64-bit.
I have defined function
int main()
{
int* l;
size_t len1;
fun(len1);
return 0;
}
void fun(int* ptr)
{
cout<<"\nsizeof(ptr)"<<sizeof(ptr);
}
However while compiling getting error as :
Error: Formal argument ptr... (2 Replies)
Discussion started by: amit_27
2 Replies
4. Red Hat
I am just trying to get the warning while compiling for 64-bit on Linux
>>
uname -a
Linux mms4.es.cpth.ie 2.6.9-22.ELsmp #1 SMP Mon Sep 19 18:00:54 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux
===================================
Written test.c file which conatin :
#include<stdio.h>... (1 Reply)
Discussion started by: amit_27
1 Replies
5. HP-UX
Dear All,
I am new on Tru 64 bit Unix platform. I have a database server "HP AlphaServer ES45" version p5.1 of Tru Ux 64 bit installed. I have 4 hard drives in this system (1,2,3,4). My 4th hard drive is damaged which contain Oracle database files including partitions on 4th drives... (2 Replies)
Discussion started by: hellozishan
2 Replies
6. HP-UX
Hello All,
I have HP Openview storage data protector version 5.5. When I am going to write my backup I have an error message saying "Connot Open Device /dev/rmt/0mn"
Follownig is my output:
# ls -l /dev/rmt/0mn
crw-rw-rw- 2 bin bin 205 0x080140 Jan 17 16:41 /dev/rmt/0mn
# uname -a... (2 Replies)
Discussion started by: hellozishan
2 Replies
7. HP-UX
i am trying to build on hpux-itanium 64 bit platform. my application needs to link to 64 bit version of the library libCsup.so
This library is present in /usr/lib/hpux64/libCsup.so
I am specifying the location of this library as linker flags
LDFLAGS := -Wl,-N -Wl,+s... (0 Replies)
Discussion started by: skyineyes
0 Replies
8. Red Hat
Hi,
I installed Db2 9.7 on RHEL5 32bit .
Instance Name is db2inst1 amd in that i created database as mydb.
I exported env variables for
classpath ,db2dir,db2instance
LD_LIBRARY_PATH ,PATH ,ODBC, ODBCHOME ,ODBCINI
My application needs ODBC connectivity and so I modified odbc.ini file . ... (0 Replies)
Discussion started by: roopalidalvi231
0 Replies
9. Solaris
Hello,
I am fairly new to Solaris so please be gentle ;). I am trying to install apache 2.4.3 adapting a script one of my colleagues wrote for version 2.2.23. The problem lies in the fact that I am aiming at creating a 64bit package hence I've already amended the script to reflect that. I... (3 Replies)
Discussion started by: teotao
3 Replies
FAUCC(1) FAUCC(1)
NAME
faucc - C compiler generating Intel code for 16 bit/32 bit CPUs.
SYNOPSIS
faucc [ -B path ] [ -D MACRO [=def]] [ -E ] [ -I path ] [ -L path ] [ -MD ] [-MF file ] [ -MP ] [ -MT target ] [ -O level ] [ -S ]
[ -T script ] [ -U macro ] [ -Wl,arg ] [ -Xlinker arg ] [ -b arch ] [ -c ] [ -f arg ] [ -m arch ] [ -nostdlib ] [ -o output ]
[ -print-lib-faucc-file-name ] [ --freestanding ] [ --no-stack-protector ] { file ...}
DESCRIPTION
faucc is a C compiler, that can generate Intel 16 bit or 32 bit Code.
OPTIONS
faucc tries to mimic the options of gcc. A number of options will be passed to the C preprocessor cpp or to the linker (done via a call to
the c-compiler gcc) in unmodified form.
-B path
Override the directory prefix where cc1 is looked up with path.
-D MACRO, -D MACRO=def
Define MACRO with the optional initial definition def. If def is omitted, it defaults to 1.
-E
Only perform preprocessing, but do not run the compiler.
-I path
Add path to the include path in which header files are searched.
-L path
Add path to the library search path, in which the linker will look for libraries.
-MD
Output dependency information while preprocessing.
-MF, file
Output dependency information while preprocessing to file.
-MP,
When the preprocessor should output dependency information, it will generate PHONY targets for each dependency.
-MT target
When the preprocessor should output dependency information, use target as the dependency rule target.
-O level
Currently ignored.
-S
Output assembly code.
-T script
Use script as linker script.
-U macro
Undefine a previously defined macro.
-Wl,arg, -Xlinker arg
Pass arg to the linker.
-b arch
Generate code for arch (either i286 or i386)
-c
Perform compilation, but do not link.
-f arg
Pass code generation argument arg to the compiler. See the cc1 man page for possible arguments.
-m arch
Currently ignored.
-nostdlib
With this option, the linker will only search for libraries that are passed as command line arguments.
-o file
Write output to file.
-print-libfaucc-file-name
Print the full path of the internal compiler library libfaucc.a.
-static
Perform static linking.
--freestanding, --no-stack-protector
Currently ignored.
EXAMPLES
faucc -c hello-world.c -o hello-world.o
Compile the program hello-world.c and output the object as hello-wolrd.o.
faucc -S -b i286 -o test.s test.c
Compile the program test.c to 16 bit code and output the assembly listing to test.s, but do not assemble or link the result yet.
SEE ALSO
cc1(1) , cpp(1) , gcc(1) , ld(1)
CONTACT
Please report all bugs to FAUcc Team <info@faumachine.org>. FAUcc Homepage [1].
AUTHOR
FAUcc Team
COPYRIGHT
Copyright (C) 2009 FAUcc Team. Developed at Friedrich Alexander University Erlangen-Nuremberg.
FAUcc comes with ABSOLUTELY NO WARRANTY. FAUcc is free software; you can redistribute it and/or modify it under the terms of the GNU
General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later
version. See COPYING for details.
NOTES
1. FAUcc Homepage
http://www.faumachine.org
FAUcc Team 03/08/2009 FAUCC(1)