Hi, I'm trying to create a win64 build of CLN. Most of the changes seem to involve replacing "unsigned long" with "uintptr_t" since "long" is 32bit in Win64. To make these changes useable for the community (by way of a git patch?), should I a) just go ahead and change b) put all the changes into a #if defined(_M_AMD64) <changed code> #else <original code> #endif I refer specifically to the "unsigned long" to "uintptr_t" changes, not to all changes in general. Is there any danger in doing this change on other platforms? Best regards, Jan Rheinländer
I had a patchset before to do just this. It was posted on this mailing list, but as far as I can tell it was never merged. There is a little more than just what you describe, because CLN uses the least significant bits of pointers that would be zero due to alignment for other things. On Fri, Feb 23, 2018 at 8:41 PM, Jan Rheinländer <jrheinlaender@gmx.de> wrote:
Hi,
I'm trying to create a win64 build of CLN. Most of the changes seem to involve replacing "unsigned long" with "uintptr_t" since "long" is 32bit in Win64.
To make these changes useable for the community (by way of a git patch?), should I
a) just go ahead and change
b) put all the changes into a
#if defined(_M_AMD64) <changed code> #else <original code> #endif
I refer specifically to the "unsigned long" to "uintptr_t" changes, not to all changes in general. Is there any danger in doing this change on other platforms?
Best regards,
Jan Rheinländer
_______________________________________________ CLN-list mailing list CLN-list@ginac.de https://www.cebix.net/mailman/listinfo/cln-list
Hi Robert, would you when you posted it? I can't find a search function on the mailing list archive Am 23.02.2018 um 23:30 schrieb Robert Szalai:
I had a patchset before to do just this. It was posted on this mailing list, but as far as I can tell it was never merged. There is a little more than just what you describe, because CLN uses the least significant bits of pointers that would be zero due to alignment for other things.
On Fri, Feb 23, 2018 at 8:41 PM, Jan Rheinländer <jrheinlaender@gmx.de <mailto:jrheinlaender@gmx.de>> wrote:
Hi,
I'm trying to create a win64 build of CLN. Most of the changes seem to involve replacing "unsigned long" with "uintptr_t" since "long" is 32bit in Win64.
To make these changes useable for the community (by way of a git patch?), should I
a) just go ahead and change
b) put all the changes into a
#if defined(_M_AMD64) <changed code> #else <original code> #endif
I refer specifically to the "unsigned long" to "uintptr_t" changes, not to all changes in general. Is there any danger in doing this change on other platforms?
Best regards,
Jan Rheinländer
_______________________________________________ CLN-list mailing list CLN-list@ginac.de <mailto:CLN-list@ginac.de> https://www.cebix.net/mailman/listinfo/cln-list <https://www.cebix.net/mailman/listinfo/cln-list>
_______________________________________________ CLN-list mailing list CLN-list@ginac.de https://www.cebix.net/mailman/listinfo/cln-list
Hi,
I refer specifically to the "unsigned long" to "uintptr_t" changes, not to all changes in general. Is there any danger in doing this change on other platforms?
No, there is no danger. <stdint.h> with intptr_t and uintptr_t is supported on all platforms for at least 3 years. Microsoft MSVC was the last system to implement it. But one can not rely on everything that is supposed to be present in <stdint.h>. See https://www.gnu.org/software/gnulib/manual/html_node/stdint_002eh.html for details. Bruno
participants (3)
-
Bruno Haible
-
Jan Rheinländer
-
Robert Szalai