Bug 75511 - ld.so leaves no room for Fortran program's data
Summary: ld.so leaves no room for Fortran program's data
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 2.1
Classification: Red Hat
Component: kernel   
(Show other bugs)
Version: 2.1
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Larry Woodman
QA Contact:
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2002-10-09 12:27 UTC by Bastien Nocera
Modified: 2012-06-20 16:00 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-06-20 16:00:17 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
test case (247 bytes, text/plain)
2002-10-09 12:28 UTC, Bastien Nocera
no flags Details

Description Bastien Nocera 2002-10-09 12:27:20 UTC
See http://www.absoft.com/linux70tfaq.html#anchor0113 for details

Test case attached below

Another work-around is available:
# echo 2147483647 > /proc/self/mapped_base

Comment 1 Bastien Nocera 2002-10-09 12:28:11 UTC
Created attachment 79604 [details]
test case

Comment 2 Jakub Jelinek 2002-10-09 12:52:37 UTC
That's kernel problem.
I think something like
--- linux/fs/binfmt_elf.c.jj   Wed Oct  9 08:30:41 2002
+++ linux/fs/binfmt_elf.c      Wed Oct  9 08:48:05 2002
@@ -709,6 +709,13 @@ static int load_elf_binary(struct linux_
        start_data += load_bias;
        end_data += load_bias;

+       /* Calling set_brk effectively mmaps the pages that we need
+        * for the bss and break sections
+        */
+       set_brk(elf_bss, elf_brk);
+
+       padzero(elf_bss);
+
        if (elf_interpreter) {
                if (interpreter_type == INTERPRETER_AOUT)
                        elf_entry = load_aout_interp(&interp_ex,
@@ -752,13 +759,6 @@ static int load_elf_binary(struct linux_
        current->mm->end_data = end_data;
        current->mm->start_stack = bprm->p;

-       /* Calling set_brk effectively mmaps the pages that we need
-        * for the bss and break sections
-        */
-       set_brk(elf_bss, elf_brk);
-
-       padzero(elf_bss);
-
 #if 0
        printk("(start_brk) %lx\n" , (long) current->mm->start_brk);
        printk("(end_code) %lx\n" , (long) current->mm->end_code);

but it is totally untested.

Comment 3 Jiri Pallich 2012-06-20 16:00:17 UTC
Thank you for submitting this issue for consideration in Red Hat Enterprise Linux. The release for which you requested us to review is now End of Life. 
Please See https://access.redhat.com/support/policy/updates/errata/

If you would like Red Hat to re-consider your feature request for an active release, please re-open the request via appropriate support channels and provide additional supporting details about the importance of this issue.


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