Removal of the previous kernel registration scheme unearthed mistakes in the new one, which were: - The new kernel registration code relied on the binder expansion phase, which didn't happen because the registration code was already generated by the binder. - The kernel handle passed to CUDA_Register_Function was the first eight bytes of the code of the host-side procedure representing the kernel rather than its address. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * bindgen.adb (Gen_CUDA_Init): Remove code generating CUDA definitions. (Gen_CUDA_Defs): New function, generating definitions initialized by Gen_CUDA_Init. (Gen_Output_File_Ada): Call Gen_CUDA_Defs instead of Gen_CUDA_Init. (Gen_Adainit): Call Gen_CUDA_Init.