[Bug c/34764] New: A Flame About 64-bit Pointers

View: New views
7 Messages — Rating Filter:   Alert me  

[Bug c/34764] New: A Flame About 64-bit Pointers

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

(Please note this is a copy & paste from Donald E. Knuth's homepage:
http://www-cs-faculty.stanford.edu/~uno/news.html - Given who he is, I think
the issue should receive a bit of love)

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 presumably does what I
want. Namely, it should compile code for my x86-64 architecture, taking
advantage of the extra registers etc., but it should also know that my program
is going to live inside a 32-bit virtual address space.
 Unfortunately, the gcc I got with Ubuntu 7.10 says that -mlong32 is an unknown
option. 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: A Flame About 64-bit Pointers
           Product: gcc
           Version: 4.1.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pgquiles at elpauer dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34764


[Bug target/34764] A Flame About 64-bit Pointers

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



------- Comment #1 from pinskia at gcc dot gnu dot org  2008-01-12 22:15 -------
Well first Knuth did read full the documentation because -mlong32 is only for
MIPS.
Second don't post flames.


--

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c                           |target
 GCC target triplet|                            |x86_64-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34764


[Bug target/34764] A Flame About 64-bit Pointers

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



------- Comment #2 from rguenth at gcc dot gnu dot org  2008-01-12 22:27 -------
bla


--

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34764


[Bug target/34764] A Flame About 64-bit Pointers

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



------- Comment #3 from pgquiles at elpauer dot org  2008-01-12 22:32 -------
Is it technically possible (i. e. does the architecture support this feature)
to make mlong32 work on x86-64, Itanium and other 64-bit architectures? If it's
possible, it'd make sense to get it to work.


--

pgquiles at elpauer dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|INVALID                     |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34764


[Bug target/34764] A Flame About 64-bit Pointers

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



------- Comment #4 from pinskia at gcc dot gnu dot org  2008-01-12 22:35 -------
Well for PPC64, there is already support for it, just a different option
-mpowerpc64 -m32 .  For x86_64 you need ABI support which is not going to
happen any time soon and partly outside of GCC's control because you need glibc
and kernel support.


--

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34764


[Bug target/34764] A Flame About 64-bit Pointers

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



------- Comment #5 from pinskia at gcc dot gnu dot org  2009-07-04 19:00 -------
*** Bug 40647 has been marked as a duplicate of this bug. ***


--

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tkoenig at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34764


[Bug target/34764] A Flame About 64-bit Pointers

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



------- Comment #6 from jvdelisle at gcc dot gnu dot org  2009-07-06 19:45 -------
2 cents.  Memory is cheap, very cheap.  When you can buy a x86-64 based laptop
with 3 gig for under 500 dollars, it does not matter that much.

Now, if you are doing embedded systems, that may be a different tune and a
small model may be the ticket.


--


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34764