Re: z/Linux 32-bit modules

2018-05-29 Thread Paul Edwards
Hi Philipp. Thanks a lot for those 2 links. Now I see that some work needs to be done by the Linux team (not by application programmers) to run ELF32 binaries as AM64 instead of AM31. BFN. Paul. -- For LINUX-390 subscribe /

Re: z/Linux 32-bit modules

2018-05-28 Thread Paul Edwards
> And that, Paul, is why it’s not going to fly. > All of the 31 bit code would have to be reimplemented. > A bunch of other people do all that work and > take on all the risk to what end? Hi Alan. What code needs to be reimplemented? I think it is very unlikely any C code needs to be changed.

Re: z/Linux 32-bit modules

2018-05-27 Thread Paul Edwards
>> Hi Joe. You didn’t show the ELF32 ABI which >> is what is being discussed. > Yes I did. Same document covers 32-bit and 64-bit. No it doesn’t. I read the whole thing and it doesn’t discuss ELF32 at all, and it says that pointers are 8 bytes in size, not sometimes 4, sometimes 8. >> assuming

Re: z/Linux 32-bit modules

2018-05-26 Thread Paul Edwards
> You can't run a 32-bit linux program in AM64. > As I've pointed out to you, the ABI does not allow it. Hi Joe. You didn’t show the ELF32 ABI which is what is being discussed. In addition, even if the ELF32 ABI explicitly said “this runs as AM31”, that doesn’t mean the documentation can’t simply

Re: z/Linux 32-bit modules

2018-05-26 Thread Paul Edwards
> z/Linux was written for 31-bit addressing hardware. So the top bit is > always expected to be set in 32-bit data/31-bit addressing user mode. That top bit ceases to be used by the hardware in BALR etc if the 32-bit program is run as AM64. So the only issue is whether any *code* goes to the

Re: z/Linux 32-bit modules

2018-05-26 Thread Paul Edwards
> Right off the bat, all the ones that require > you to set the high order bit of > the last argument address. I am surprised that there exists any such code in z/Linux. That was something traditionally done on z/OS (but has to be reworked to work as AM64), but I expected most things in z/Linux

Re: z/Linux 32-bit modules

2018-05-26 Thread Paul Edwards
Hi Alan. My previous message seems to have been reformatted badly, so I am trying again. What 31-bit APIs do you think would break if they were run as AM64, and why can’t that code be updated to be quadmodal (24/31/32/64)? I would want all the APIs updated prior to anyone running 32-bit programs

Re: z/Linux 32-bit modules

2018-05-25 Thread Paul Edwards
> The performance benefit of "compactness"> isn't worth (IMO) the breakage that > comes> with it. Under laboratory conditions you> can create 32-bit programs > with AM64. > They just can't (generally) deal with> 31-bit APIs, something > they must use to> get the benefit of 32-bit registers.

Re: z/Linux 32-bit modules

2018-05-25 Thread Paul Edwards
Timothy – I don’t personally have any programs that have lots of pointers in memory so that the effect of defeating the cache can be demonstrated. But while ever people are building ELF32 binaries for reasons that they think make sense, I would like to see “truth in advertising” and for gcc to use

Re: z/Linux 32-bit modules

2018-05-23 Thread Paul Edwards
Hi Philipp. Which CPU instruction do you think a -m31 compile produces that won't work in AM64 mode when malloc() starts returning addresses between 2 GiB and 4 GiB? I can't think of any. As far as I know a -m24, -m31 or -m32 would produce identical code if those options were available. People

Re: z/Linux 32-bit modules

2018-05-23 Thread Paul Edwards
> > Hi Timothy. > Great questions. I don't want to use -m64 because that uses the 64-bit registers for everything, but I wish to produce compact modules using only 32-bit registers and pointers. I would think that most ELF32 programs are already able to use the full 4 GiB address space without

Re: z/Linux 32-bit modules

2018-05-22 Thread Paul Edwards
mail_source=link_campaign=sig-email_content=webmail> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> On 22 May 2018 at 21:31, Martin Schwidefsky <schwidef...@de.ibm.com> wrote: > On Mon, 21 May 2018 07:21:38 +1000 > Paul Edwards <mutazi...@gmail.com> wrote: > > &

z/Linux 32-bit modules

2018-05-20 Thread Paul Edwards
When 32-bit modules are created on z/Linux using "gcc -m32" or whatever, is the resultant module run as AM31 or AM64? If the answer is AM31, then what happens if it is run as AM64 instead? Thanks. Paul. --- This email has been checked for viruses by AVG. https://www.avg.com