Bug 186757 - opendir() work abnormal with ia32el service
opendir() work abnormal with ia32el service
Status: CLOSED NOTABUG
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: ia32el (Show other bugs)
4.0
ia64 Linux
medium Severity medium
: ---
: ---
Assigned To: Petr Machata
:
: 186753 186754 186758 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2006-03-25 22:23 EST by joan
Modified: 2015-05-04 21:32 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-09-04 09:30:48 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description joan 2006-03-25 22:23:38 EST
Description of problem:
opendir() work abnormal with ia32el service.

Version-Release number of selected component (if applicable):
ia32el 1.3.2
Redhat Enterprise Linux 4, U1, U2,U3

How reproducible:
Use opendir(), whenever we pass a absolute path name(eg./usr/share)or relative 
path name, it will try to open the path on /emul/ia32-linux/usr/share first, if 
the directory is not exist on /emul/ia32-linux/, then it going to 
open /usr/share. 
This will cause the 32bit program work abnormal in 64bit environment.


Steps to Reproduce:
1.
2.
3.
  
Actual results:
opendir() not open the correct direcotry if the directory also exists 
in /emul/ia32-linux/ directory. 

Expected results:
opendir() can open the correct directory on ia64 platform.

Additional info:
Comment 1 Jakub Jelinek 2006-03-27 04:25:10 EST
*** Bug 186758 has been marked as a duplicate of this bug. ***
Comment 3 Jakub Jelinek 2006-03-27 04:27:31 EST
*** Bug 186754 has been marked as a duplicate of this bug. ***
Comment 4 Jakub Jelinek 2006-03-27 04:29:21 EST
*** Bug 186753 has been marked as a duplicate of this bug. ***
Comment 5 Eric Lin 2006-03-28 01:12:14 EST
This is the behavior by design of the ia64 linux system. it's not ia32el 
problem. Only way to overcome it is by changing the design of the system. 
Comment 6 joan 2006-03-31 02:07:28 EST
Yes, by the test result, I'v got it is the ia64 architecture problem. But could 
you please give us some workaround for this issue? 

And how about other APIs, where could I found the API list that function 
different on ia64 platform? It would be very import for developers who porting 
the program to ia64 platform. many thanks!
Comment 7 joan 2006-03-31 02:08:06 EST
Yes, by the test result, I'v got it is the ia64 architecture problem. But could 
you please give us some workaround for this issue? 

And how about other APIs, where could I found the API list that function 
different on ia64 platform? It would be very import for developers who porting 
the program to ia64 platform. many thanks!
Comment 8 joan 2006-04-05 05:51:40 EDT
Answer from Intel:
As a process, Intel doesn't provide direct support for IA-32 EL customers - OSV 
should do the support (in your case, redhat). I'd like to suggest you to 
describe your problems clearly in your bugzilla to see how Redhat response.

Dear Redhat,

Who can help me? thanks!
Question 1: 
Where can I found the APIs list that function differnt on pure 32bit 
environment and IA-32 EL environment, such as opendir() and chdir()described in 
this bug.

Question 2:
Is there any workaround for the opendir() issue, for example, is there any 
option in compile?

Many thanks!







Comment 9 Petr Machata 2006-08-09 11:57:08 EDT
Joan:
Answer 1:
On IA-64, all file-related functions will prefer files from /emul/ia32-linux/,
if they are available.  This is built in kernel.  If kernel altroot isn't
available, ia32el does that emulation itself for ia32 binaries.
For definitive list, file ia32el_v6_intel/src/ia32toia64/user32_pathwalk.c would
be of particular interest for you.

Answer 2:
I don't think there is a workaround for that, apart from removing the file from
/emul/ia32-linux.

Is that explanation enough for you?

Note You need to log in before you can comment on or make changes to this bug.