Sponsored Content
Operating Systems Linux gcc compiled executable not working across x86_64 linux platforms Post 302225184 by same1290 on Thursday 14th of August 2008 07:31:40 PM
Old 08-14-2008
gcc compiled executable not working across x86_64 linux platforms

Hi
I compiled a hello world program on two different 64-bit Linux machines, named quimby and node0331. When I compile on quimby and run on node0331 I get a "Floating exception (core dumped)" error. But if I do it in reverse, things work fine.

Here's my compilation on quimby:

$ uname -a
Linux quimby 2.6.18-8.1.15.el5 #1 SMP Mon Oct 22 08:32:28 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux

$ cat hello.c
#include <stdio.h>
int main()
{
printf("Hello World\n");

return 0;
}

$ gcc -c hello.c -o hello.o ;
$ gcc -o hello hello.o
$ ./hello
Hello World

The I go to node0331 and run there:

$ uname -a
Linux node0331 2.6.9-42.0.3.ELsmp #1 SMP Fri Oct 6 06:28:26 CDT 2006 x86_64 x86_64 x86_64 GNU/Linux

$ ./hello
Floating exception (core dumped)

But again if I do this in reverse, things work fine. Has anyone ever experienced this problem.

Thanks in advance,

Sam
 

10 More Discussions You Might Find Interesting

1. Programming

dbx error ("Executable contains object file compiled on ...")

Hi, We are trying to run dbx on a core file for which we have the original executable and libs, but not the source / object tree. We have recompiled the objects from the original source, but dbx complains that they were compiled at a different time, and refuses to read them: Object file:... (0 Replies)
Discussion started by: Sabari Nath S
0 Replies

2. Linux

GCC cross compiler for x86_64-elf

Hi, I am building GCC cross compiler for x86_64-elf for that a have followed steps, 1. mkdir build-gmp build-mpfr 2. cd build-gmp 3. ../gmp-4.2/configure --prefix=/usr/local 4. make all install 5. make check 6.cd ../build-mpfr 7. ../mpfr-2.3.2/configure... (5 Replies)
Discussion started by: Mandar123
5 Replies

3. Linux

GCC cross compiler for x86_64

Hi, I am tried to install GCC cross compiler for 64-bit machine. i want compile one application for 64 bit machine. I have followed steps form GCC Cross-Compile - OSDev Wiki . Please if anybody have installed cross compiler successfully, please tell me the steps followed by you. Thanking... (0 Replies)
Discussion started by: Mandar123
0 Replies

4. Solaris

Executable compiled on solaris 10 not working on solaris 9

Hi I compiled an executable on Solaris 10 which creates semaphore ( semget) but it didn't work on solaris 9 , while it is executing sucessfully on solaris 10. It is throwing the system error that Invalid arguments ( system error 22) on solaris 9. the ldd for the executable on two servers is as... (4 Replies)
Discussion started by: ash_bit2k2
4 Replies

5. Programming

Finding the number of bits a executable was compiled

Hi, Can anyone tell me how to find out how many bits a c executable was compiled in? I am trying to do some investigation of running 32bit programs in 64bit systems. (1 Reply)
Discussion started by: Leion
1 Replies

6. UNIX for Advanced & Expert Users

Viewing a compiled executable file

I've got a executable binary file (source code fortran77, compiled using gfortran). I'm not sure this is even possible but I remember someone I knew was able to view the source code that created this binary file, i.e. he used a program that enabled him to see what the source code was. Is this... (2 Replies)
Discussion started by: lost.identity
2 Replies

7. Programming

Using ANSI color codes in gcc compiled program

I have put some yellow color codes and works well. I call the funstion using print_usage(stderr, 0); I would like to know if there is any way, to store the ansi color codes in variables and then call them inside fprintf. Or have a format followed by the strings I want to output. ... (5 Replies)
Discussion started by: kristinu
5 Replies

8. Solaris

Newly Compiled GCC 4.4.4 on Solaris sparc gives problem with -m32/-m64 flags

Hello experts, This issue has kept me busy all day long. It started off with openssl compilation which was giving linking error with following message: /usr/local/bin/ld: target elf32-sparc not found collect2: ld returned 1 exit status I tried every step possible thing that I could think... (2 Replies)
Discussion started by: d_shanke
2 Replies

9. Linux

File size limitation in the EST 2012 x86_64 GNU/Linux

Hello Friends, I tried to take tar backup in my server, but it ended with an error. It said that: /home/back/pallava_backup/fbackup_backup/stape_config /home/back/romam_new.tar.gz tar: /home/backup/back.tar.gz: Cannot write: No space left on device tar: Error is not recoverable: exiting... (10 Replies)
Discussion started by: siva3492
10 Replies

10. Programming

Local variable in a C function is not getting created in stack when its compiled with GCC

Hi, I am working in UEFI EDK2 Bios source. We created a platform related new package in the EDK2 source. I find a strange issue with the platform related code we added. When I did source level debugging I noticed the local variable in a C function is not getting created in stack when its... (6 Replies)
Discussion started by: Divya R
6 Replies
FEBOOTSTRAP-SUPERMIN-HELPER(8)				      Virtualization Support				    FEBOOTSTRAP-SUPERMIN-HELPER(8)

NAME
febootstrap-supermin-helper - Reconstruct initramfs from supermin appliance. SYNOPSIS
febootstrap-supermin-helper supermin.img hostfiles.txt host_cpu kernel initrd febootstrap-supermin-helper input [...] host_cpu kernel initrd febootstrap-supermin-helper -f ext2 input [...] host_cpu kernel initrd appliance febootstrap-supermin-helper -f checksum input [...] host_cpu DESCRIPTION
febootstrap-supermin-helper reconstructs a bootable kernel and initramfs from a supermin appliance. First you should be familiar with febootstrap(8). PARAMETERS
Of the required parameters, the first few are input files, and the last two or three are output files. "supermin.img" and "hostfiles.txt" are the input files which describe the supermin appliance. (You can also use a directory name here which is searched for files). "host_cpu" should be the host CPU, eg. "x86_64" or "i686". "kernel", "initrd" and "appliance" are the temporary output files that this script produces. These output files are meant to be used just for booting the appliance, and should be deleted straight afterwards. The extra "appliance" parameter is only required when the format is "ext2". None of these parameters are needed for the checksum output "-f checksum". OPTIONS
-f fmt --format fmt Select the output format for the appliance. Possible formats are: cpio A Linux initramfs. This is the default. In this case you have to supply names for the "kernel" and "initrd", where the "initrd" is the appliance. ext2 An ext2 filesystem. In this case you have to supply names for the "kernel", a small "initrd" which is used just to locate the appliance, and the "appliance" (the ext2 filesystem). checksum Output a checksum. This prints a checksum which only changes when one of the input files changes. You can use this in order to cache the output of a previous run of this program: computing the checksum is much quicker than building an appliance, and you only need to invalidate the cache (and consequently rebuild the appliance) when the checksum changes. Note that the host_cpu and the UID of the current user are included in the checksum. -k file --kmods file If this option is specified, then "file" should be a list of wildcards matching kernel module names, eg: virtio*.ko scsi*.ko piix.ko In this case, only kernel modules matching those wildcards will be included in the output appliance. Note: You must resolve any dependencies yourself as this does not pull in dependent modules automatically. If this option is not specified, then every kernel module from the host will be included. This is safer, but can produce rather large appliances which need a lot more memory to boot. -u user --user user -g group --group group Run febootstrap-supermin-helper as an alternate user and/or group. "user" and "group" can be specified as either a name, which will be resolved using the system name service, or a uid/gid. Use of these options requires root privileges. Use of these options is required if running febootstrap-supermin-helper as root with the effective uid/gid set to non-root. Bash will reset the effective uid/gid to the real uid/gid when invoked. As febootstrap-supermin-helper uses bash in parts, this will result in the creation of an appliance with a mixture of ownerships. SPEED
In libguestfs, on a mid-range Intel-based PC, we reconstruct the initramfs using this script in around 1/5th of a second (assuming a "hot cache" - it's rather slower when run the first time on a cold cache). Some tips to improve performance: o Use a kernel module whitelist (the "--kmods" option), and only list the kernel modules you really need. o Minimize the appliance, removing as much extraneous junk as possible. ENVIRONMENT VARIABLES
FEBOOTSTRAP_KERNEL If this environment variable is set, then automatic selection of the kernel is bypassed and this kernel is used. The environment variable should point to a kernel file, eg. "/boot/vmlinuz-3.0.x86_64" The corresponding module path is guessed from the kernel name, but you can override that by setting "FEBOOTSTRAP_MODULES". FEBOOTSTRAP_MODULES If "FEBOOTSTRAP_KERNEL" and "FEBOOTSTRAP_MODULES" are both set, then automatic selection of the kernel is bypassed and the kernel and module path are set to these values. The environment variable should point to a module directory, eg. "/lib/modules/3.0.x86_64/" This has no effect if "FEBOOTSTRAP_KERNEL" is not set. SEE ALSO
febootstrap(8). AUTHORS
Richard W.M. Jones <rjones @ redhat . com> COPYRIGHT
(C) Copyright 2009-2011 Red Hat Inc., <http://people.redhat.com/~rjones/febootstrap>. This program 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. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. febootstrap-3.10 2011-09-14 FEBOOTSTRAP-SUPERMIN-HELPER(8)
All times are GMT -4. The time now is 01:58 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy