/* Generated by libdrgn/build-aux/gen_elf_sections.py. */

static enum drgn_section_index drgn_debug_section_name_to_index(const char *name, size_t len)
{
	/* Generated by libdrgn/build-aux/gen_strswitch.py. */
	switch (1) {
	default: {
		#define memswitch0_args(ptr, len) \
			const void *memswitch0_ptr = (ptr); \
			const char *memswitch0_str = memswitch0_ptr; \
			size_t memswitch0_len = (len);
		memswitch0_args(
	            name, len
		)
		#undef memswitch0_args
		if (memswitch0_len == 3) {
			if (memswitch0_str[0] == 'l') {
				if (memcmp(&memswitch0_str[1], "oc", sizeof("oc") - 1) == 0) {
					memswitch0_case7:
		return DRGN_SCN_DEBUG_LOC;
					goto memswitch0_case8;
				} else {
					goto memswitch0_default;
				}
			} else if (memswitch0_str[0] == 's') {
				if (memcmp(&memswitch0_str[1], "tr", sizeof("tr") - 1) == 0) {
					memswitch0_case3:
		return DRGN_SCN_DEBUG_STR;
					goto memswitch0_case4;
				} else {
					goto memswitch0_default;
				}
			} else {
				goto memswitch0_default;
			}
		} else if (memswitch0_len == 4) {
			if (memswitch0_str[0] == 'a') {
				if (memcmp(&memswitch0_str[1], "ddr", sizeof("ddr") - 1) == 0) {
					memswitch0_case5:
		return DRGN_SCN_DEBUG_ADDR;
					goto memswitch0_case6;
				} else {
					goto memswitch0_default;
				}
			} else if (memswitch0_str[0] == 'i') {
				if (memcmp(&memswitch0_str[1], "nfo", sizeof("nfo") - 1) == 0) {
		return DRGN_SCN_DEBUG_INFO;
					goto memswitch0_case1;
				} else {
					goto memswitch0_default;
				}
			} else {
				goto memswitch0_default;
			}
		} else if (memswitch0_len == 5) {
			if (memswitch0_str[0] == 'f') {
				if (memcmp(&memswitch0_str[1], "rame", sizeof("rame") - 1) == 0) {
					memswitch0_case6:
		return DRGN_SCN_DEBUG_FRAME;
					goto memswitch0_case7;
				} else {
					goto memswitch0_default;
				}
			} else if (memswitch0_str[0] == 't') {
				if (memcmp(&memswitch0_str[1], "ypes", sizeof("ypes") - 1) == 0) {
					memswitch0_case1:
		return DRGN_SCN_DEBUG_TYPES;
					goto memswitch0_case2;
				} else {
					goto memswitch0_default;
				}
			} else {
				goto memswitch0_default;
			}
		} else if (memswitch0_len == 6) {
			if (memcmp(&memswitch0_str[0], "abbrev", sizeof("abbrev") - 1) == 0) {
				memswitch0_case2:
		return DRGN_SCN_DEBUG_ABBREV;
				goto memswitch0_case3;
			} else {
				goto memswitch0_default;
			}
		} else if (memswitch0_len == 8) {
			if (memcmp(&memswitch0_str[0], "loclists", sizeof("loclists") - 1) == 0) {
				memswitch0_case8:
		return DRGN_SCN_DEBUG_LOCLISTS;
				goto memswitch0_default;
			} else {
				goto memswitch0_default;
			}
		} else if (memswitch0_len == 11) {
			if (memcmp(&memswitch0_str[0], "str_offsets", sizeof("str_offsets") - 1) == 0) {
				memswitch0_case4:
		return DRGN_SCN_DEBUG_STR_OFFSETS;
				goto memswitch0_case5;
			} else {
				goto memswitch0_default;
			}
		} else {
			memswitch0_default:
		return DRGN_SECTION_INDEX_NUM;
		}
	}
	}
}

static enum drgn_section_index drgn_non_debug_section_name_to_index(const char *name)
{
	/* Generated by libdrgn/build-aux/gen_strswitch.py. */
	switch (1) {
	default: {
		#define strswitch0_args(str) \
			const char *strswitch0_str = (str);
		strswitch0_args(
	            name
		)
		#undef strswitch0_args
		if (strswitch0_str[0] == '.') {
			if (strswitch0_str[1] == 'e') {
				if (strcmp(&strswitch0_str[2], "h_frame") == 0) {
		return DRGN_SCN_EH_FRAME;
					goto strswitch0_case1;
				} else {
					goto strswitch0_default;
				}
			} else if (strswitch0_str[1] == 'g') {
				if (strswitch0_str[2] == 'n') {
					if (strswitch0_str[3] == 'u' && strswitch0_str[4] == '_' && strswitch0_str[5] == 'd' && strswitch0_str[6] == 'e' && strswitch0_str[7] == 'b' && strswitch0_str[8] == 'u' && strswitch0_str[9] == 'g') {
						if (strswitch0_str[10] == 'a') {
							if (strswitch0_str[11] == 'l' && strswitch0_str[12] == 't' && strswitch0_str[13] == 'l' && strswitch0_str[14] == 'i' && strswitch0_str[15] == 'n' && strswitch0_str[16] == 'k' && strswitch0_str[17] == '\0') {
								strswitch0_case4:
		return DRGN_SCN_GNU_DEBUGALTLINK;
								goto strswitch0_default;
							} else {
								goto strswitch0_default;
							}
						} else if (strswitch0_str[10] == 'l') {
							if (strswitch0_str[11] == 'i' && strswitch0_str[12] == 'n' && strswitch0_str[13] == 'k' && strswitch0_str[14] == '\0') {
								strswitch0_case3:
		return DRGN_SCN_GNU_DEBUGLINK;
								goto strswitch0_case4;
							} else {
								goto strswitch0_default;
							}
						} else {
							goto strswitch0_default;
						}
					} else {
						goto strswitch0_default;
					}
				} else if (strswitch0_str[2] == 'o') {
					if (strswitch0_str[3] == 't' && strswitch0_str[4] == '\0') {
						strswitch0_case2:
		return DRGN_SCN_GOT;
						goto strswitch0_case3;
					} else {
						goto strswitch0_default;
					}
				} else {
					goto strswitch0_default;
				}
			} else if (strswitch0_str[1] == 't') {
				if (strswitch0_str[2] == 'e' && strswitch0_str[3] == 'x' && strswitch0_str[4] == 't' && strswitch0_str[5] == '\0') {
					strswitch0_case1:
		return DRGN_SCN_TEXT;
					goto strswitch0_case2;
				} else {
					goto strswitch0_default;
				}
			} else {
				goto strswitch0_default;
			}
		} else {
			strswitch0_default:
		return DRGN_SECTION_INDEX_NUM;
		}
	}
	}
}
