On 20.09.2017 10:41, David Laight wrote:
From: Helge DellerSent: 19 September 2017 21:08...Using 'unsigned long' for any kind of pointer is an accident waiting do happen. It also makes it difficult to typecheck the function calls. Using 'void *' isn't any better. Either a pointer to an undefined struct, or a struct containing a single 'char' member, is likely to be safest.David, you might be right in most cases, but in this case I'd prefer unsigned long too. I think this will create the least amount of typecasts here.I've not looked at the specifics case... Another option is using a struct with a single member and passing it by value.
Actually, we do already have correct structs which could be referenced: parisc: struct Elf64_Fdesc ia64: struct fdesc ppc64: struct ppc64_opd_entry One could "#define platform_opd_entry" to each of those depending on the platform and use it. It might be misleading though, because the pointer which is handed over to dereference_function_descriptor() can be such a pointer but isn't necessary. I'll leave it up to Sergey to decide. Helge -- To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |