[RFC] [PATCH] 32-bit pointers in x86-64

Previous thread: [2.6 patch] make I/O schedulers non-modular by Adrian Bunk on Sunday, November 25, 2007 - 12:18 pm. (15 messages)

Next thread: Re: [PATCH 1/2] msi: set 'En' bit of MSI Mapping Capability on HT platform by Robert Hancock on Sunday, November 25, 2007 - 2:33 pm. (3 messages)
To: <gcc@...>, <binutils@...>, <libc-alpha@...>, <ubuntu-devel@...>, <debian-devel@...>, <linux-kernel@...>
Date: Sunday, November 25, 2007 - 12:29 pm

[Empty message]
To: Luca <luca.b633@...>
Cc: <gcc@...>, <binutils@...>, <libc-alpha@...>, <ubuntu-devel@...>, <debian-devel@...>, <linux-kernel@...>
Date: Sunday, November 25, 2007 - 2:45 pm

This is already there, try using __attribute__((mode(DI) )).

-- Pinski
-

To: Luca <luca.b633@...>, Andrew Pinski <pinskia@...>
Cc: <gcc@...>, <binutils@...>, <linux-kernel@...>
Date: Wednesday, December 5, 2007 - 5:31 am

Hmm, unless this is a new feature in 4.3, I can't seem to get this to work on
either i386 (using mode DI) or x86-64 (using mode SI). Could you clarify? If
this worked consistently on at least all 64-bit architectures, I would have a
use for it in the kernel (cutting down the kernel size by perhaps several
pages). Btw., I continue to think that the error message 'initializer element
is not computable at load time' on 64-bit code like this

extern char array[];
unsigned int p = (unsigned long)array;

or 32-bit code like this

extern char array[];
unsigned long long p = (unsigned long)array;

is incorrect - the compiler generally has no knowledge what 'array' is (it may
know whether the architecture is generally capable of expressing the
necessary relocation, but if 'array' is really a placeholder for an assembly
level constant, possibly even defined through __asm__() in the same
translation unit, this diagnostic should at best be a warning). I'm pretty
sure I have an open bug for this, but the sad thing is that bugs like this
never appear to really get looked at.

Thanks, Jan

--

To: Jan Beulich <jbeulich@...>
Cc: Luca <luca.b633@...>, <gcc@...>, <binutils@...>, <linux-kernel@...>
Date: Wednesday, December 5, 2007 - 6:48 am

This only works when you add support for the different pointer modes.
I was saying the middle support for this feature was already there,
just the target support was not.

Also there are issues with mode on pointers for C++, I don't know what
they are though.

Note this feature is used on the s390 target and also the ia64-hpux targets.
--Pinski
--

Previous thread: [2.6 patch] make I/O schedulers non-modular by Adrian Bunk on Sunday, November 25, 2007 - 12:18 pm. (15 messages)

Next thread: Re: [PATCH 1/2] msi: set 'En' bit of MSI Mapping Capability on HT platform by Robert Hancock on Sunday, November 25, 2007 - 2:33 pm. (3 messages)