home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.arch      Apparently more than just beeps & boops      131,241 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 129,372 of 131,241   
   Anton Ertl to Dan Cross   
   ILP32 code on 64-bit substrate (was: VAX   
   12 Aug 25 15:28:27   
   
   XPost: alt.folklore.computers   
   From: anton@mips.complang.tuwien.ac.at   
      
   cross@spitfire.i.gajendra.net (Dan Cross) writes:   
   >MAP_32BIT is only used on x86-64 on Linux, and was originally   
   >a performance hack for allocating thread stacks: apparently, it   
   >was cheaper to do a thread switch with a stack below the 4GiB   
   >barrier (sign extension artifact maybe? Who knows...).  But it's   
   >no longer required for that.  But there's no indication that it   
   >was for supporting ILP32 on a 64-bit system.   
      
   Reading up about x32, it requires quite a bit more than just   
   allocating everything in the low 2GB.   
      
   My memories (from reading about it, I never compiled a program for   
   that usage myself) are that on Digital OSF/1, the corresponding usage   
   did just that: Configure the compiler for ILP32, and allocate all   
   memory in the low 2GB.  I expect that types such as off_t would be   
   defined appropriately, and any pointers in library-defined structures   
   (e.g., FILE from ) consumed 8 bytes, even though the ILP32   
   code only accessed the bottom 4.  Or maybe they had compiled the   
   library also for ILP32.  In those days fewer shared libraries were in   
   play, and the number of system calls and their interface complexity in   
   OSF/1 was probably closer to Unix v6 or so than to Linux today (or in   
   2012, when x32 was introduced), so all of that required a lot less   
   work.   
      
   - anton   
   --   
   'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'   
     Mitch Alsup,    
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca