[11]RFR: 8203030: Zero s390 31 bit size_t type conflicts in shared code

Dan Horák dan at danny.cz
Wed Jun 6 19:52:08 UTC 2018


On Wed, 6 Jun 2018 15:36:34 -0400
Chris Phillips <ChrisPhi at LGonQn.Org> wrote:

> Hi,
> 
> On 06/06/18 02:23 PM, Per Liden wrote:
> > On 2018-06-06 18:29, Andrew Haley wrote:
> >> On 06/06/2018 04:47 PM, Chris Phillips wrote:
> >>> Please review this set of changes to shared code
> >>> related to S390 (31bit) Zero self-build type mis-match failures.
> >>>
> >>> Bug:    https://bugs.openjdk.java.net/browse/JDK-8203030
> >>> webrev: http://cr.openjdk.java.net/~chrisphi/JDK-8203030/webrev.0
> >>
> >> Can you explain this a little more?  What is the type of size_t on
> >> s390x?  What is the type of uintptr_t?  What are the errors?
> > 
> > I would like to understand this too.
> > 
> > cheers,
> > Per
> > 
> > 
> Quoting from the original bug  review request:
> http://mail.openjdk.java.net/pipermail/hotspot-dev/2014-June/014254.html
> "This
> is a problem when one parameter is of size_t type and the second of
> uintx type and the platform has size_t defined as eg. unsigned long as
> on s390 (32-bit)."

Chris, thanks for continuing with that, I hoped we won't need it any
more after we dropped the 32/31-bit s390 from Fedora 2 years ago.

In short 32-bit s390 (31 bits are used for address space) has size_t
defined as "unsigned long" (don't ask me why) while all other arches
(AFAIK, including 64-bit s390x) use "unsigned int". And the difference
is causing problems especially when C++ templates are used.


		Dan
 
> Hope that helps,
> Chris
> 
> (I'll answer further if needed but the info is in the bugs and
> review thread mostly)
> See:
> https://bugs.openjdk.java.net/browse/JDK-8203030
> and:
> http://mail.openjdk.java.net/pipermail/hotspot-dev/2014-June/014254.html
> https://bugs.openjdk.java.net/browse/JDK-8046938
> https://bugs.openjdk.java.net/browse/JDK-8074459
> For more info.


More information about the hotspot-dev mailing list