Re: New VSI blog post

Liste des GroupesRevenir à co vms 
Sujet : Re: New VSI blog post
De : seaohveh (at) *nospam* hoffmanlabs.invalid (Stephen Hoffman)
Groupes : comp.os.vms
Date : 30. Jul 2024, 16:54:35
Autres entêtes
Organisation : HoffmanLabs LLC
Message-ID : <v8b2br$13k5b$1@dont-email.me>
References : 1 2
User-Agent : Unison/2.2
On 2024-07-30 03:28:16 +0000, John Reagan said:

And in lieu of an actual porting guide, I've been asked about "what things are catching people porting code from Itanium to x86".  Other than bugs in the compilers and OS, the most common issue I've seen is a mismatch of 32/64 bit variables.  I've seen 20 or so instance of code that is doing a 64-bit write into a 32-bit variable.  On Alpha and Itanium, GEM would allocate 32-bit variables into their own quadword on the stack.  Back in the old Alpha days, quadword granularity was very important.  It became less important on later Alphas and Itanium but still had limited benefit.  For x86, there is no reason for it and LLVM will just allocate 32-bit variables on the stack right next to each other.  The overwrite on Alpha/Itanium would just touch that extra alignment hole.  On x86, the overwrite clobbers the adjacent variable. It mostly has been in BLISS and C code.
?
BLISS has ample opportunities for foot-guns, but C usually flags integer or float mismatches that would lead to overflows or truncations. Which leaves buffers and strings.
I've certainly clobbered storage loading ten kilograms of data into a five kilogram malloc, among other sorts memory management "fun".
Given compiler errors are called out separately, and given examples of errors aren't offered, and given as few as roughly twenty cases found across ~everything, this seems like device drivers or kernel shenanigans with builtins or asm or such, or incorrect casting, or errant memcpy or lib$movc calls or ilk, or a strcpy that null terminates a four-byte transfer into the fifth byte, or maybe just buggy C code built with compiler diagnostics detuned or disabled. I'm guessing the errors specific to the sorts of things some hunk of OpenVMS C or BLISS is usually doing. Maybe a wrong size constant somewhere? Or a strcpy into a longword that spills the null?
What amounts to tearing when adjacent variables were within the same granularity was a wonderfully subtle and gnarly mess with asynchronous code aeons ago. But that doesn't fit the description here.
Given few cases and no examples, I'm assuming it's just some brain-cramp or another, and not a generic issue. Ports do traditionally tend to expose packing and padding issues, too.
--
Pure Personal Opinion | HoffmanLabs LLC
Date Sujet#  Auteur
30 Jul 24 * New VSI blog post34Arne Vajhøj
30 Jul 24 +* Re: New VSI blog post20John Reagan
30 Jul 24 i+* Re: New VSI blog post18Simon Clubley
31 Jul 24 ii`* Re: New VSI blog post17Arne Vajhøj
31 Jul 24 ii `* Re: New VSI blog post16John Reagan
1 Aug 24 ii  `* Re: New VSI blog post15Arne Vajhøj
1 Aug 24 ii   +- Re: New VSI blog post1Arne Vajhøj
1 Aug 24 ii   `* Re: New VSI blog post13John Reagan
1 Aug 24 ii    `* Re: New VSI blog post12Lawrence D'Oliveiro
1 Aug 24 ii     `* Re: New VSI blog post11Arne Vajhøj
1 Aug 24 ii      `* Re: New VSI blog post10Lawrence D'Oliveiro
1 Aug 24 ii       `* Re: New VSI blog post9Arne Vajhøj
1 Aug 24 ii        +* Re: New VSI blog post5John Reagan
1 Aug 24 ii        i`* Re: New VSI blog post4Lawrence D'Oliveiro
4 Aug 24 ii        i `* Re: New VSI blog post3John Reagan
4 Aug 24 ii        i  `* Re: New VSI blog post2Lawrence D'Oliveiro
5 Aug 24 ii        i   `- Re: New VSI blog post1Arne Vajhøj
1 Aug 24 ii        `* Re: New VSI blog post3Dave Froble
1 Aug 24 ii         `* Re: New VSI blog post2John Dallman
1 Aug 24 ii          `- Re: New VSI blog post1Arne Vajhøj
30 Jul 24 i`- Re: New VSI blog post1Stephen Hoffman
30 Jul 24 `* Re: New VSI blog post13Richard Jordan
30 Jul 24  +* Re: New VSI blog post2Craig A. Berry
30 Jul 24  i`- Re: New VSI blog post1Arne Vajhøj
30 Jul 24  +- Re: New VSI blog post1Arne Vajhøj
31 Jul 24  `* Re: New VSI blog post9John Reagan
31 Jul 24   +* Re: New VSI blog post7Chris Townley
1 Aug 24   i+* Re: New VSI blog post4Craig A. Berry
1 Aug 24   ii`* Re: New VSI blog post3Chris Townley
1 Aug 24   ii `* Re: New VSI blog post2John Reagan
1 Aug 24   ii  `- Re: New VSI blog post1Robert A. Brooks
1 Aug 24   i`* Re: New VSI blog post2John Reagan
1 Aug 24   i `- Re: New VSI blog post1Chris Townley
2 Aug 24   `- Re: New VSI blog post1Richard Jordan

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal