[issue2164] dl broken on non-ILP32 platforms

2008-02-22 Thread Martin v. Löwis
Martin v. Löwis added the comment: It fails if the function being called has parameters which are not sizeof(long), and the platform has a calling convention where such parameters are passed on the stack, and consume a size different from sizeof(long) on the stack. I disagree that it won't run o

[issue2164] dl broken on non-ILP32 platforms

2008-02-22 Thread Bill Nottingham
Bill Nottingham added the comment: If it's not possible to implement at all, why does it work without the test? What specific cases do you think will fail? Heck, if you don't think it's functional on 90% of hardware sold these days, just remove it, it makes python look less silly. (Portability

[issue2164] dl broken on non-ILP32 platforms

2008-02-22 Thread Martin v. Löwis
Martin v. Löwis added the comment: > sizeof(long) != sizeof(void *) isn't the epic fail here. It's the > complaint about sizeof(int) != sizeof(long). Same story. __ Tracker <[EMAIL PROTECTED]> __

[issue2164] dl broken on non-ILP32 platforms

2008-02-22 Thread Bill Nottingham
Bill Nottingham added the comment: sizeof(long) != sizeof(void *) isn't the epic fail here. It's the complaint about sizeof(int) != sizeof(long). __ Tracker <[EMAIL PROTECTED]> __ _

[issue2164] dl broken on non-ILP32 platforms

2008-02-22 Thread Martin v. Löwis
Martin v. Löwis added the comment: The limitation is genuine; it's not possible to implement dl_call correctly if sizeof(long) != sizeof(void*), say. Otherwise, it would have been fixed long ago. Use ctypes instead, if that is supported for your hardware. (More generally, it's not possible to imp

[issue2164] dl broken on non-ILP32 platforms

2008-02-22 Thread Bill Nottingham
Bill Nottingham added the comment: Moreover, eliding the check and subsequent error from the code yields a module that appears to work in (very) brief testing on x86_64. __ Tracker <[EMAIL PROTECTED]>

[issue2164] dl broken on non-ILP32 platforms

2008-02-22 Thread Bill Nottingham
New submission from Bill Nottingham: SystemError: module dl requires sizeof(int) == sizeof(long) == sizeof(char*) That's just unspeakably lame. I realize this is longstanding, and it's even documented, but just... FAIL. -- components: Library (Lib) messages: 62695 nosy: notting severity