This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/40647] New: 32-bit pointers on 64-bit operating systems
- From: "tkoenig at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 Jul 2009 10:03:40 -0000
- Subject: [Bug target/40647] New: 32-bit pointers on 64-bit operating systems
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Just passing on a request from Donald Knuth,
from http://www-cs-faculty.stanford.edu/~knuth/news08.html ,
A Flame About 64-bit Pointers
# It is absolutely idiotic to have 64-bit pointers when I compile a program
# that uses less than 4 gigabytes of RAM. When such pointer values appear
# inside a struct, they not only waste half the memory, they effectively
# throw away half of the cache.
# The gcc manpage advertises an option "-mlong32" that sounds like what I want.
# Namely, I think it would compile code for my x86-64 architecture, taking
# advantage of the extra registers etc., but it would also know that my
# program is going to live inside a 32-bit virtual address space.
# Unfortunately, the -mlong32 option was introduced only for MIPS computers,
# years ago. Nobody has yet adopted such conventions for today's most popular
# architecture. Probably that happens because programs compiled with this
# convention will need to be loaded with a special version of libc.
# Please, somebody, make that possible.
--
Summary: 32-bit pointers on 64-bit operating systems
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Keywords: missed-optimization
Severity: enhancement
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tkoenig at gcc dot gnu dot org
GCC target triplet: x86_64-*-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40647