Bug 111132

Summary: glibc emulation for ia32 doesn't work
Product: Red Hat Enterprise Linux 3 Reporter: Shinya Narahara <naraha_s>
Component: kernelAssignee: Arjan van de Ven <arjanv>
Status: CLOSED DUPLICATE QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 3.0   
Target Milestone: ---   
Target Release: ---   
Hardware: ia64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-02-21 19:00:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Shinya Narahara 2003-11-28 02:18:59 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET 
CLR 1.1.4322)

Description of problem:
The binary compiled on ia34 with shared library,
doesn't work on ia64 RedHat Enterprise Linux 3.

The sample is below:
#include <errno.h>
extern int errno;
main() {
  char *syscmd="mkdir '/tmp/xxxx'" ;
  int   sysrc = 0;
  printf("command = %s\n",syscmd);
  sysrc = system(syscmd);
  printf("system = %d\n",sysrc);
  printf("errno  = %d %s\n",errno,strerror(errno));
}


Version-Release number of selected component (if applicable):
glibc-2.3.2-95.3

How reproducible:
Always

Steps to Reproduce:
1.compile the sample on ia32 with shared library
2.execute the binary on ia64
3.
    

Actual Results:  
command = mkdir '/tmp/xxxx'
system = -1
errno  = 14 Bad address


Expected Results:  
command = mkdir '/tmp/xxxx'
system = 0
errno  = 0

Additional info:

Same binary works fine on RH72 for IA64.
Also fine the binary is compiled statically on ia32.
The source file works properly on ia32 with compiling ia32,
or on ia64 with compiling ia64. 

Is this a bug of /emul/ia32-linux/lib/*.so ?

Comment 1 Arjan van de Ven 2003-12-02 14:44:07 UTC

*** This bug has been marked as a duplicate of 107116 ***

Comment 2 Arjan van de Ven 2003-12-02 14:46:14 UTC
also your code is broken:
#include <errno.h>
extern int errno;

is very very invalid

Comment 3 Shinya Narahara 2003-12-05 01:44:09 UTC
> also your code is broken:
> #include <errno.h>
> extern int errno;
> is very very invalid

The program validity is not essential.
We just tell you that "system()" system call doesn't work on
RHAS3 for IA64, although this works on RH72 for IA64.



Comment 4 Red Hat Bugzilla 2006-02-21 19:00:12 UTC
Changed to 'CLOSED' state since 'RESOLVED' has been deprecated.