// included from p/debug_native.c
// split for better reading/cleaning up

static char *r_debug_native_reg_profile(RDebug *dbg) {
#if R2__WINDOWS__
/*
	  _______
	 |   |   |
	 |___|___|
	 |   |   |
	 |___|___|
*/
	if (R_SYS_BITS_CHECK (dbg->bits, 64)) {
#include "reg/windows-x64.h"
	} else {
#include "reg/windows-x86.h"
	}
#elif (__OpenBSD__ || __NetBSD__)
/*
				     __.--..__
	       \-/-/-/    _ __  _.--'  _.--'
	  _  \'       \   \\  ''      `------.__
	  \\/      __)_)   \\      ____..---'
	  //\       o  o    \\----'
	     / <_/      3    \\
	      \_,_,__,_/      \\
*/
#if __i386__
#include "reg/netbsd-x86.h"
#elif __x86_64__
#include "reg/netbsd-x64.h"
#elif __aarch64__
#include "reg/netbsd-arm64.h"
#elif __powerpc__
#include "reg/kfbsd-ppc.h"
#else
#error "Unsupported BSD architecture"
#endif

#elif __KFBSD__ || __FreeBSD__
/*
	    /(       ).
	    \ \__   /|
	    /  _ '-/ |
	   (/\/ |    \
	   / /  | \   )
	   O O _/     |
	  (__)  __   /
	    \___/   /
	      `----'
*/
#if __i386__ || __i386
#include "reg/kfbsd-x86.h"
#elif __x86_64__ || __amd64__
#include "reg/kfbsd-x64.h"
#elif __aarch64__
#include "reg/kfbsd-arm64.h"
#elif __powerpc64__
#include "reg/kfbsd-ppc64.h"
#elif __powerpc__
#include "reg/kfbsd-ppc.h"
#elif __riscv
#include "reg/kfbsd-riscv64.h"
#else
#error "Unsupported BSD architecture"
#endif

#elif __HAIKU__
#if __x86_64__
#include "reg/haiku-x64.h"
#elif __i386__
#include "reg/haiku-x86.h"
#else
#warning Unsupported Haiku architecture
	return NULL;
#endif

#else
#warning Unsupported Kernel
	return NULL;
#endif
}
