Track bionic function -> ifunc change.

Bug: https://issuetracker.google.com/330105715
Test: treehugger
Change-Id: I61f679f9dd6f05c1b4cb3349bbc367090f20cf1f
diff --git a/21/arm64/libc/abi.stg b/21/arm64/libc/abi.stg
index 1563ab7..6d31b65 100644
--- a/21/arm64/libc/abi.stg
+++ b/21/arm64/libc/abi.stg
@@ -264,6 +264,11 @@
   pointee_type_id: 0x6019d5cc
 }
 pointer_reference {
+  id: 0x134e5f85
+  kind: POINTER
+  pointee_type_id: 0x67799889
+}
+pointer_reference {
   id: 0x13580d6c
   kind: POINTER
   pointee_type_id: 0x6720d32f
@@ -349,6 +354,11 @@
   pointee_type_id: 0x5391e121
 }
 pointer_reference {
+  id: 0x1e8b5236
+  kind: POINTER
+  pointee_type_id: 0x506dae47
+}
+pointer_reference {
   id: 0x1ebe4388
   kind: POINTER
   pointee_type_id: 0x50b9e8bd
@@ -1364,6 +1374,16 @@
   referred_type_id: 0x506099b0
 }
 typedef {
+  id: 0x506dae47
+  name: "memrchr_func"
+  referred_type_id: 0x9266a843
+}
+typedef {
+  id: 0x67799889
+  name: "memset_func"
+  referred_type_id: 0x9a0e3475
+}
+typedef {
   id: 0x056861e3
   name: "mode_t"
   referred_type_id: 0x165b2b6a
@@ -6852,6 +6872,13 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0x9266a843
+  return_type_id: 0x6720d32f
+  parameter_id: 0x391f15ea
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x927f611a
   return_type_id: 0x6720d32f
   parameter_id: 0x3e10b518
@@ -7518,6 +7545,13 @@
   parameter_id: 0x391f15ea
 }
 function {
+  id: 0x9a0e3475
+  return_type_id: 0x6720d32f
+  parameter_id: 0x18bd6530
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x9a95deb1
   return_type_id: 0xf435685e
   parameter_id: 0x391f15ea
@@ -8374,6 +8408,12 @@
   parameter_id: 0x24af31e4
 }
 function {
+  id: 0xda211cb9
+  return_type_id: 0x1e8b5236
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xdc08c25a
   return_type_id: 0x3b075a2f
   parameter_id: 0x3b075a2f
@@ -8426,6 +8466,12 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0xe5f0281e
+  return_type_id: 0x134e5f85
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xe8cade9e
   return_type_id: 0x949ddea9
   parameter_id: 0x6720d32f
@@ -12505,13 +12551,17 @@
   id: 0xbb6565fa
   name: "memrchr"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xda211cb9
+  full_name: "memrchr_resolver"
 }
 elf_symbol {
   id: 0xd1412061
   name: "memset"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xe5f0281e
+  full_name: "memset_resolver"
 }
 elf_symbol {
   id: 0x37070c75
diff --git a/22/arm64/libc/abi.stg b/22/arm64/libc/abi.stg
index 926964b..0f76525 100644
--- a/22/arm64/libc/abi.stg
+++ b/22/arm64/libc/abi.stg
@@ -264,6 +264,11 @@
   pointee_type_id: 0x6019d5cc
 }
 pointer_reference {
+  id: 0x134e5f85
+  kind: POINTER
+  pointee_type_id: 0x67799889
+}
+pointer_reference {
   id: 0x13580d6c
   kind: POINTER
   pointee_type_id: 0x6720d32f
@@ -354,6 +359,11 @@
   pointee_type_id: 0x5391e121
 }
 pointer_reference {
+  id: 0x1e8b5236
+  kind: POINTER
+  pointee_type_id: 0x506dae47
+}
+pointer_reference {
   id: 0x1ebe4388
   kind: POINTER
   pointee_type_id: 0x50b9e8bd
@@ -1384,6 +1394,16 @@
   referred_type_id: 0x506099b0
 }
 typedef {
+  id: 0x506dae47
+  name: "memrchr_func"
+  referred_type_id: 0x9266a843
+}
+typedef {
+  id: 0x67799889
+  name: "memset_func"
+  referred_type_id: 0x9a0e3475
+}
+typedef {
   id: 0x056861e3
   name: "mode_t"
   referred_type_id: 0x165b2b6a
@@ -7426,6 +7446,13 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0x9266a843
+  return_type_id: 0x6720d32f
+  parameter_id: 0x391f15ea
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x927aa208
   return_type_id: 0x6720d32f
   parameter_id: 0x3e10b518
@@ -8174,6 +8201,13 @@
   parameter_id: 0x391f15ea
 }
 function {
+  id: 0x9a0e3475
+  return_type_id: 0x6720d32f
+  parameter_id: 0x18bd6530
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x9a95deb1
   return_type_id: 0xf435685e
   parameter_id: 0x391f15ea
@@ -9051,6 +9085,12 @@
   parameter_id: 0x24af31e4
 }
 function {
+  id: 0xda211cb9
+  return_type_id: 0x1e8b5236
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xdc08c25a
   return_type_id: 0x3b075a2f
   parameter_id: 0x3b075a2f
@@ -9103,6 +9143,12 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0xe5f0281e
+  return_type_id: 0x134e5f85
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xe8cade9e
   return_type_id: 0x949ddea9
   parameter_id: 0x6720d32f
@@ -13182,13 +13228,17 @@
   id: 0xbb6565fa
   name: "memrchr"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xda211cb9
+  full_name: "memrchr_resolver"
 }
 elf_symbol {
   id: 0xd1412061
   name: "memset"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xe5f0281e
+  full_name: "memset_resolver"
 }
 elf_symbol {
   id: 0x37070c75
diff --git a/23/arm64/libc/abi.stg b/23/arm64/libc/abi.stg
index b600b71..710a209 100644
--- a/23/arm64/libc/abi.stg
+++ b/23/arm64/libc/abi.stg
@@ -264,6 +264,11 @@
   pointee_type_id: 0x6019d5cc
 }
 pointer_reference {
+  id: 0x134e5f85
+  kind: POINTER
+  pointee_type_id: 0x67799889
+}
+pointer_reference {
   id: 0x13580d6c
   kind: POINTER
   pointee_type_id: 0x6720d32f
@@ -354,6 +359,11 @@
   pointee_type_id: 0x5391e121
 }
 pointer_reference {
+  id: 0x1e8b5236
+  kind: POINTER
+  pointee_type_id: 0x506dae47
+}
+pointer_reference {
   id: 0x1ebe4388
   kind: POINTER
   pointee_type_id: 0x50b9e8bd
@@ -1389,6 +1399,16 @@
   referred_type_id: 0x506099b0
 }
 typedef {
+  id: 0x506dae47
+  name: "memrchr_func"
+  referred_type_id: 0x9266a843
+}
+typedef {
+  id: 0x67799889
+  name: "memset_func"
+  referred_type_id: 0x9a0e3475
+}
+typedef {
   id: 0x056861e3
   name: "mode_t"
   referred_type_id: 0x165b2b6a
@@ -7573,6 +7593,13 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0x9266a843
+  return_type_id: 0x6720d32f
+  parameter_id: 0x391f15ea
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x927aa208
   return_type_id: 0x6720d32f
   parameter_id: 0x3e10b518
@@ -8399,6 +8426,13 @@
   parameter_id: 0x391f15ea
 }
 function {
+  id: 0x9a0e3475
+  return_type_id: 0x6720d32f
+  parameter_id: 0x18bd6530
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x9a95deb1
   return_type_id: 0xf435685e
   parameter_id: 0x391f15ea
@@ -9315,6 +9349,12 @@
   parameter_id: 0x24af31e4
 }
 function {
+  id: 0xda211cb9
+  return_type_id: 0x1e8b5236
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xdc08c25a
   return_type_id: 0x3b075a2f
   parameter_id: 0x3b075a2f
@@ -9367,6 +9407,12 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0xe5f0281e
+  return_type_id: 0x134e5f85
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xe8cade9e
   return_type_id: 0x949ddea9
   parameter_id: 0x6720d32f
@@ -13782,13 +13828,17 @@
   id: 0xbb6565fa
   name: "memrchr"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xda211cb9
+  full_name: "memrchr_resolver"
 }
 elf_symbol {
   id: 0xd1412061
   name: "memset"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xe5f0281e
+  full_name: "memset_resolver"
 }
 elf_symbol {
   id: 0x37070c75
diff --git a/24/arm64/libc/abi.stg b/24/arm64/libc/abi.stg
index b18ecf5..714af68 100644
--- a/24/arm64/libc/abi.stg
+++ b/24/arm64/libc/abi.stg
@@ -284,6 +284,11 @@
   pointee_type_id: 0x6019d5cc
 }
 pointer_reference {
+  id: 0x134e5f85
+  kind: POINTER
+  pointee_type_id: 0x67799889
+}
+pointer_reference {
   id: 0x13580d6c
   kind: POINTER
   pointee_type_id: 0x6720d32f
@@ -379,6 +384,11 @@
   pointee_type_id: 0x5391e121
 }
 pointer_reference {
+  id: 0x1e8b5236
+  kind: POINTER
+  pointee_type_id: 0x506dae47
+}
+pointer_reference {
   id: 0x1ebe4388
   kind: POINTER
   pointee_type_id: 0x50b9e8bd
@@ -1469,6 +1479,16 @@
   referred_type_id: 0x506099b0
 }
 typedef {
+  id: 0x506dae47
+  name: "memrchr_func"
+  referred_type_id: 0x9266a843
+}
+typedef {
+  id: 0x67799889
+  name: "memset_func"
+  referred_type_id: 0x9a0e3475
+}
+typedef {
   id: 0x056861e3
   name: "mode_t"
   referred_type_id: 0x165b2b6a
@@ -7966,6 +7986,13 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0x9266a843
+  return_type_id: 0x6720d32f
+  parameter_id: 0x391f15ea
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x92671f68
   return_type_id: 0x6720d32f
   parameter_id: 0x3e10b518
@@ -8844,6 +8871,13 @@
   parameter_id: 0x4585663f
 }
 function {
+  id: 0x9a0e3475
+  return_type_id: 0x6720d32f
+  parameter_id: 0x18bd6530
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x9a95deb1
   return_type_id: 0xf435685e
   parameter_id: 0x391f15ea
@@ -9817,6 +9851,12 @@
   parameter_id: 0x24af31e4
 }
 function {
+  id: 0xda211cb9
+  return_type_id: 0x1e8b5236
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xdc08c25a
   return_type_id: 0x3b075a2f
   parameter_id: 0x3b075a2f
@@ -9876,6 +9916,12 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0xe5f0281e
+  return_type_id: 0x134e5f85
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xe8cade9e
   return_type_id: 0x949ddea9
   parameter_id: 0x6720d32f
@@ -14500,13 +14546,17 @@
   id: 0xbb6565fa
   name: "memrchr"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xda211cb9
+  full_name: "memrchr_resolver"
 }
 elf_symbol {
   id: 0xd1412061
   name: "memset"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xe5f0281e
+  full_name: "memset_resolver"
 }
 elf_symbol {
   id: 0x37070c75
diff --git a/25/arm64/libc/abi.stg b/25/arm64/libc/abi.stg
index b18ecf5..714af68 100644
--- a/25/arm64/libc/abi.stg
+++ b/25/arm64/libc/abi.stg
@@ -284,6 +284,11 @@
   pointee_type_id: 0x6019d5cc
 }
 pointer_reference {
+  id: 0x134e5f85
+  kind: POINTER
+  pointee_type_id: 0x67799889
+}
+pointer_reference {
   id: 0x13580d6c
   kind: POINTER
   pointee_type_id: 0x6720d32f
@@ -379,6 +384,11 @@
   pointee_type_id: 0x5391e121
 }
 pointer_reference {
+  id: 0x1e8b5236
+  kind: POINTER
+  pointee_type_id: 0x506dae47
+}
+pointer_reference {
   id: 0x1ebe4388
   kind: POINTER
   pointee_type_id: 0x50b9e8bd
@@ -1469,6 +1479,16 @@
   referred_type_id: 0x506099b0
 }
 typedef {
+  id: 0x506dae47
+  name: "memrchr_func"
+  referred_type_id: 0x9266a843
+}
+typedef {
+  id: 0x67799889
+  name: "memset_func"
+  referred_type_id: 0x9a0e3475
+}
+typedef {
   id: 0x056861e3
   name: "mode_t"
   referred_type_id: 0x165b2b6a
@@ -7966,6 +7986,13 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0x9266a843
+  return_type_id: 0x6720d32f
+  parameter_id: 0x391f15ea
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x92671f68
   return_type_id: 0x6720d32f
   parameter_id: 0x3e10b518
@@ -8844,6 +8871,13 @@
   parameter_id: 0x4585663f
 }
 function {
+  id: 0x9a0e3475
+  return_type_id: 0x6720d32f
+  parameter_id: 0x18bd6530
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x9a95deb1
   return_type_id: 0xf435685e
   parameter_id: 0x391f15ea
@@ -9817,6 +9851,12 @@
   parameter_id: 0x24af31e4
 }
 function {
+  id: 0xda211cb9
+  return_type_id: 0x1e8b5236
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xdc08c25a
   return_type_id: 0x3b075a2f
   parameter_id: 0x3b075a2f
@@ -9876,6 +9916,12 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0xe5f0281e
+  return_type_id: 0x134e5f85
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xe8cade9e
   return_type_id: 0x949ddea9
   parameter_id: 0x6720d32f
@@ -14500,13 +14546,17 @@
   id: 0xbb6565fa
   name: "memrchr"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xda211cb9
+  full_name: "memrchr_resolver"
 }
 elf_symbol {
   id: 0xd1412061
   name: "memset"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xe5f0281e
+  full_name: "memset_resolver"
 }
 elf_symbol {
   id: 0x37070c75
diff --git a/26/arm64/libc/abi.stg b/26/arm64/libc/abi.stg
index a80d16d..c1b41a4 100644
--- a/26/arm64/libc/abi.stg
+++ b/26/arm64/libc/abi.stg
@@ -299,6 +299,11 @@
   pointee_type_id: 0x6019d5cc
 }
 pointer_reference {
+  id: 0x134e5f85
+  kind: POINTER
+  pointee_type_id: 0x67799889
+}
+pointer_reference {
   id: 0x13580d6c
   kind: POINTER
   pointee_type_id: 0x6720d32f
@@ -399,6 +404,11 @@
   pointee_type_id: 0x5391e121
 }
 pointer_reference {
+  id: 0x1e8b5236
+  kind: POINTER
+  pointee_type_id: 0x506dae47
+}
+pointer_reference {
   id: 0x1ebe4388
   kind: POINTER
   pointee_type_id: 0x50b9e8bd
@@ -1499,6 +1509,16 @@
   referred_type_id: 0x506099b0
 }
 typedef {
+  id: 0x506dae47
+  name: "memrchr_func"
+  referred_type_id: 0x9266a843
+}
+typedef {
+  id: 0x67799889
+  name: "memset_func"
+  referred_type_id: 0x9a0e3475
+}
+typedef {
   id: 0x056861e3
   name: "mode_t"
   referred_type_id: 0x165b2b6a
@@ -8219,6 +8239,13 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0x9266a843
+  return_type_id: 0x6720d32f
+  parameter_id: 0x391f15ea
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x92671f68
   return_type_id: 0x6720d32f
   parameter_id: 0x3e10b518
@@ -9102,6 +9129,13 @@
   parameter_id: 0x4585663f
 }
 function {
+  id: 0x9a0e3475
+  return_type_id: 0x6720d32f
+  parameter_id: 0x18bd6530
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x9a95deb1
   return_type_id: 0xf435685e
   parameter_id: 0x391f15ea
@@ -10137,6 +10171,12 @@
   parameter_id: 0x24af31e4
 }
 function {
+  id: 0xda211cb9
+  return_type_id: 0x1e8b5236
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xdc08c25a
   return_type_id: 0x3b075a2f
   parameter_id: 0x3b075a2f
@@ -10202,6 +10242,12 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0xe5f0281e
+  return_type_id: 0x134e5f85
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xe8cade9e
   return_type_id: 0x949ddea9
   parameter_id: 0x6720d32f
@@ -14982,13 +15028,17 @@
   id: 0xbb6565fa
   name: "memrchr"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xda211cb9
+  full_name: "memrchr_resolver"
 }
 elf_symbol {
   id: 0xd1412061
   name: "memset"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xe5f0281e
+  full_name: "memset_resolver"
 }
 elf_symbol {
   id: 0x37070c75
diff --git a/27/arm64/libc/abi.stg b/27/arm64/libc/abi.stg
index a80d16d..c1b41a4 100644
--- a/27/arm64/libc/abi.stg
+++ b/27/arm64/libc/abi.stg
@@ -299,6 +299,11 @@
   pointee_type_id: 0x6019d5cc
 }
 pointer_reference {
+  id: 0x134e5f85
+  kind: POINTER
+  pointee_type_id: 0x67799889
+}
+pointer_reference {
   id: 0x13580d6c
   kind: POINTER
   pointee_type_id: 0x6720d32f
@@ -399,6 +404,11 @@
   pointee_type_id: 0x5391e121
 }
 pointer_reference {
+  id: 0x1e8b5236
+  kind: POINTER
+  pointee_type_id: 0x506dae47
+}
+pointer_reference {
   id: 0x1ebe4388
   kind: POINTER
   pointee_type_id: 0x50b9e8bd
@@ -1499,6 +1509,16 @@
   referred_type_id: 0x506099b0
 }
 typedef {
+  id: 0x506dae47
+  name: "memrchr_func"
+  referred_type_id: 0x9266a843
+}
+typedef {
+  id: 0x67799889
+  name: "memset_func"
+  referred_type_id: 0x9a0e3475
+}
+typedef {
   id: 0x056861e3
   name: "mode_t"
   referred_type_id: 0x165b2b6a
@@ -8219,6 +8239,13 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0x9266a843
+  return_type_id: 0x6720d32f
+  parameter_id: 0x391f15ea
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x92671f68
   return_type_id: 0x6720d32f
   parameter_id: 0x3e10b518
@@ -9102,6 +9129,13 @@
   parameter_id: 0x4585663f
 }
 function {
+  id: 0x9a0e3475
+  return_type_id: 0x6720d32f
+  parameter_id: 0x18bd6530
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x9a95deb1
   return_type_id: 0xf435685e
   parameter_id: 0x391f15ea
@@ -10137,6 +10171,12 @@
   parameter_id: 0x24af31e4
 }
 function {
+  id: 0xda211cb9
+  return_type_id: 0x1e8b5236
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xdc08c25a
   return_type_id: 0x3b075a2f
   parameter_id: 0x3b075a2f
@@ -10202,6 +10242,12 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0xe5f0281e
+  return_type_id: 0x134e5f85
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xe8cade9e
   return_type_id: 0x949ddea9
   parameter_id: 0x6720d32f
@@ -14982,13 +15028,17 @@
   id: 0xbb6565fa
   name: "memrchr"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xda211cb9
+  full_name: "memrchr_resolver"
 }
 elf_symbol {
   id: 0xd1412061
   name: "memset"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xe5f0281e
+  full_name: "memset_resolver"
 }
 elf_symbol {
   id: 0x37070c75
diff --git a/28/arm64/libc/abi.stg b/28/arm64/libc/abi.stg
index aa20828..d9a4a22 100644
--- a/28/arm64/libc/abi.stg
+++ b/28/arm64/libc/abi.stg
@@ -329,6 +329,11 @@
   pointee_type_id: 0x6019d5cc
 }
 pointer_reference {
+  id: 0x134e5f85
+  kind: POINTER
+  pointee_type_id: 0x67799889
+}
+pointer_reference {
   id: 0x13580d6c
   kind: POINTER
   pointee_type_id: 0x6720d32f
@@ -449,6 +454,11 @@
   pointee_type_id: 0x5391e121
 }
 pointer_reference {
+  id: 0x1e8b5236
+  kind: POINTER
+  pointee_type_id: 0x506dae47
+}
+pointer_reference {
   id: 0x1ebe4388
   kind: POINTER
   pointee_type_id: 0x50b9e8bd
@@ -1639,6 +1649,16 @@
   referred_type_id: 0x506099b0
 }
 typedef {
+  id: 0x506dae47
+  name: "memrchr_func"
+  referred_type_id: 0x9266a843
+}
+typedef {
+  id: 0x67799889
+  name: "memset_func"
+  referred_type_id: 0x9a0e3475
+}
+typedef {
   id: 0x056861e3
   name: "mode_t"
   referred_type_id: 0x165b2b6a
@@ -8728,6 +8748,13 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0x9266a843
+  return_type_id: 0x6720d32f
+  parameter_id: 0x391f15ea
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x92671f68
   return_type_id: 0x6720d32f
   parameter_id: 0x3e10b518
@@ -9749,6 +9776,13 @@
   parameter_id: 0x4585663f
 }
 function {
+  id: 0x9a0e3475
+  return_type_id: 0x6720d32f
+  parameter_id: 0x18bd6530
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x9a95deb1
   return_type_id: 0xf435685e
   parameter_id: 0x391f15ea
@@ -10857,6 +10891,12 @@
   parameter_id: 0x24af31e4
 }
 function {
+  id: 0xda211cb9
+  return_type_id: 0x1e8b5236
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xdc08c25a
   return_type_id: 0x3b075a2f
   parameter_id: 0x3b075a2f
@@ -10922,6 +10962,12 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0xe5f0281e
+  return_type_id: 0x134e5f85
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xe8cade9e
   return_type_id: 0x949ddea9
   parameter_id: 0x6720d32f
@@ -15996,13 +16042,17 @@
   id: 0xbb6565fa
   name: "memrchr"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xda211cb9
+  full_name: "memrchr_resolver"
 }
 elf_symbol {
   id: 0xd1412061
   name: "memset"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xe5f0281e
+  full_name: "memset_resolver"
 }
 elf_symbol {
   id: 0x37070c75
diff --git a/29/arm64/libc/abi.stg b/29/arm64/libc/abi.stg
index 84a7133..934d00f 100644
--- a/29/arm64/libc/abi.stg
+++ b/29/arm64/libc/abi.stg
@@ -334,6 +334,11 @@
   pointee_type_id: 0x6019d5cc
 }
 pointer_reference {
+  id: 0x134e5f85
+  kind: POINTER
+  pointee_type_id: 0x67799889
+}
+pointer_reference {
   id: 0x13580d6c
   kind: POINTER
   pointee_type_id: 0x6720d32f
@@ -454,6 +459,11 @@
   pointee_type_id: 0x5391e121
 }
 pointer_reference {
+  id: 0x1e8b5236
+  kind: POINTER
+  pointee_type_id: 0x506dae47
+}
+pointer_reference {
   id: 0x1ebe4388
   kind: POINTER
   pointee_type_id: 0x50b9e8bd
@@ -1644,6 +1654,16 @@
   referred_type_id: 0x506099b0
 }
 typedef {
+  id: 0x506dae47
+  name: "memrchr_func"
+  referred_type_id: 0x9266a843
+}
+typedef {
+  id: 0x67799889
+  name: "memset_func"
+  referred_type_id: 0x9a0e3475
+}
+typedef {
   id: 0x056861e3
   name: "mode_t"
   referred_type_id: 0x165b2b6a
@@ -8876,6 +8896,13 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0x9266a843
+  return_type_id: 0x6720d32f
+  parameter_id: 0x391f15ea
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x92671f68
   return_type_id: 0x6720d32f
   parameter_id: 0x3e10b518
@@ -9902,6 +9929,13 @@
   parameter_id: 0x4585663f
 }
 function {
+  id: 0x9a0e3475
+  return_type_id: 0x6720d32f
+  parameter_id: 0x18bd6530
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x9a95deb1
   return_type_id: 0xf435685e
   parameter_id: 0x391f15ea
@@ -11027,6 +11061,12 @@
   parameter_id: 0x24af31e4
 }
 function {
+  id: 0xda211cb9
+  return_type_id: 0x1e8b5236
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xdc08c25a
   return_type_id: 0x3b075a2f
   parameter_id: 0x3b075a2f
@@ -11092,6 +11132,12 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0xe5f0281e
+  return_type_id: 0x134e5f85
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xe8cade9e
   return_type_id: 0x949ddea9
   parameter_id: 0x6720d32f
@@ -16264,13 +16310,17 @@
   id: 0xbb6565fa
   name: "memrchr"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xda211cb9
+  full_name: "memrchr_resolver"
 }
 elf_symbol {
   id: 0xd1412061
   name: "memset"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xe5f0281e
+  full_name: "memset_resolver"
 }
 elf_symbol {
   id: 0x37070c75
diff --git a/30/arm64/libc/abi.stg b/30/arm64/libc/abi.stg
index 63f2e5c..936c103 100644
--- a/30/arm64/libc/abi.stg
+++ b/30/arm64/libc/abi.stg
@@ -339,6 +339,11 @@
   pointee_type_id: 0x6019d5cc
 }
 pointer_reference {
+  id: 0x134e5f85
+  kind: POINTER
+  pointee_type_id: 0x67799889
+}
+pointer_reference {
   id: 0x13580d6c
   kind: POINTER
   pointee_type_id: 0x6720d32f
@@ -459,6 +464,11 @@
   pointee_type_id: 0x5391e121
 }
 pointer_reference {
+  id: 0x1e8b5236
+  kind: POINTER
+  pointee_type_id: 0x506dae47
+}
+pointer_reference {
   id: 0x1ebe4388
   kind: POINTER
   pointee_type_id: 0x50b9e8bd
@@ -1679,6 +1689,16 @@
   referred_type_id: 0x506099b0
 }
 typedef {
+  id: 0x506dae47
+  name: "memrchr_func"
+  referred_type_id: 0x9266a843
+}
+typedef {
+  id: 0x67799889
+  name: "memset_func"
+  referred_type_id: 0x9a0e3475
+}
+typedef {
   id: 0x056861e3
   name: "mode_t"
   referred_type_id: 0x165b2b6a
@@ -9031,6 +9051,13 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0x9266a843
+  return_type_id: 0x6720d32f
+  parameter_id: 0x391f15ea
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x92671f68
   return_type_id: 0x6720d32f
   parameter_id: 0x3e10b518
@@ -10078,6 +10105,13 @@
   parameter_id: 0x4585663f
 }
 function {
+  id: 0x9a0e3475
+  return_type_id: 0x6720d32f
+  parameter_id: 0x18bd6530
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x9a65230c
   return_type_id: 0x6720d32f
   parameter_id: 0x1f97008e
@@ -11243,6 +11277,12 @@
   parameter_id: 0x24af31e4
 }
 function {
+  id: 0xda211cb9
+  return_type_id: 0x1e8b5236
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xdc08c25a
   return_type_id: 0x3b075a2f
   parameter_id: 0x3b075a2f
@@ -11308,6 +11348,12 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0xe5f0281e
+  return_type_id: 0x134e5f85
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xe8cade9e
   return_type_id: 0x949ddea9
   parameter_id: 0x6720d32f
@@ -16678,13 +16724,17 @@
   id: 0xbb6565fa
   name: "memrchr"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xda211cb9
+  full_name: "memrchr_resolver"
 }
 elf_symbol {
   id: 0xd1412061
   name: "memset"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xe5f0281e
+  full_name: "memset_resolver"
 }
 elf_symbol {
   id: 0x37070c75
diff --git a/31/arm64/libc/abi.stg b/31/arm64/libc/abi.stg
index b626c19..c970235 100644
--- a/31/arm64/libc/abi.stg
+++ b/31/arm64/libc/abi.stg
@@ -349,6 +349,11 @@
   pointee_type_id: 0x6019d5cc
 }
 pointer_reference {
+  id: 0x134e5f85
+  kind: POINTER
+  pointee_type_id: 0x67799889
+}
+pointer_reference {
   id: 0x13580d6c
   kind: POINTER
   pointee_type_id: 0x6720d32f
@@ -469,6 +474,11 @@
   pointee_type_id: 0x5391e121
 }
 pointer_reference {
+  id: 0x1e8b5236
+  kind: POINTER
+  pointee_type_id: 0x506dae47
+}
+pointer_reference {
   id: 0x1ebe4388
   kind: POINTER
   pointee_type_id: 0x50b9e8bd
@@ -1694,6 +1704,16 @@
   referred_type_id: 0x506099b0
 }
 typedef {
+  id: 0x506dae47
+  name: "memrchr_func"
+  referred_type_id: 0x9266a843
+}
+typedef {
+  id: 0x67799889
+  name: "memset_func"
+  referred_type_id: 0x9a0e3475
+}
+typedef {
   id: 0x056861e3
   name: "mode_t"
   referred_type_id: 0x165b2b6a
@@ -9096,6 +9116,13 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0x9266a843
+  return_type_id: 0x6720d32f
+  parameter_id: 0x391f15ea
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x92671f68
   return_type_id: 0x6720d32f
   parameter_id: 0x3e10b518
@@ -10148,6 +10175,13 @@
   parameter_id: 0x4585663f
 }
 function {
+  id: 0x9a0e3475
+  return_type_id: 0x6720d32f
+  parameter_id: 0x18bd6530
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x9a65230c
   return_type_id: 0x6720d32f
   parameter_id: 0x1f97008e
@@ -11318,6 +11352,12 @@
   parameter_id: 0x24af31e4
 }
 function {
+  id: 0xda211cb9
+  return_type_id: 0x1e8b5236
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xdc08c25a
   return_type_id: 0x3b075a2f
   parameter_id: 0x3b075a2f
@@ -11383,6 +11423,12 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0xe5f0281e
+  return_type_id: 0x134e5f85
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xe8cade9e
   return_type_id: 0x949ddea9
   parameter_id: 0x6720d32f
@@ -16809,13 +16855,17 @@
   id: 0xbb6565fa
   name: "memrchr"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xda211cb9
+  full_name: "memrchr_resolver"
 }
 elf_symbol {
   id: 0xd1412061
   name: "memset"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xe5f0281e
+  full_name: "memset_resolver"
 }
 elf_symbol {
   id: 0x37070c75
diff --git a/32/arm64/libc/abi.stg b/32/arm64/libc/abi.stg
index b626c19..c970235 100644
--- a/32/arm64/libc/abi.stg
+++ b/32/arm64/libc/abi.stg
@@ -349,6 +349,11 @@
   pointee_type_id: 0x6019d5cc
 }
 pointer_reference {
+  id: 0x134e5f85
+  kind: POINTER
+  pointee_type_id: 0x67799889
+}
+pointer_reference {
   id: 0x13580d6c
   kind: POINTER
   pointee_type_id: 0x6720d32f
@@ -469,6 +474,11 @@
   pointee_type_id: 0x5391e121
 }
 pointer_reference {
+  id: 0x1e8b5236
+  kind: POINTER
+  pointee_type_id: 0x506dae47
+}
+pointer_reference {
   id: 0x1ebe4388
   kind: POINTER
   pointee_type_id: 0x50b9e8bd
@@ -1694,6 +1704,16 @@
   referred_type_id: 0x506099b0
 }
 typedef {
+  id: 0x506dae47
+  name: "memrchr_func"
+  referred_type_id: 0x9266a843
+}
+typedef {
+  id: 0x67799889
+  name: "memset_func"
+  referred_type_id: 0x9a0e3475
+}
+typedef {
   id: 0x056861e3
   name: "mode_t"
   referred_type_id: 0x165b2b6a
@@ -9096,6 +9116,13 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0x9266a843
+  return_type_id: 0x6720d32f
+  parameter_id: 0x391f15ea
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x92671f68
   return_type_id: 0x6720d32f
   parameter_id: 0x3e10b518
@@ -10148,6 +10175,13 @@
   parameter_id: 0x4585663f
 }
 function {
+  id: 0x9a0e3475
+  return_type_id: 0x6720d32f
+  parameter_id: 0x18bd6530
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x9a65230c
   return_type_id: 0x6720d32f
   parameter_id: 0x1f97008e
@@ -11318,6 +11352,12 @@
   parameter_id: 0x24af31e4
 }
 function {
+  id: 0xda211cb9
+  return_type_id: 0x1e8b5236
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xdc08c25a
   return_type_id: 0x3b075a2f
   parameter_id: 0x3b075a2f
@@ -11383,6 +11423,12 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0xe5f0281e
+  return_type_id: 0x134e5f85
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xe8cade9e
   return_type_id: 0x949ddea9
   parameter_id: 0x6720d32f
@@ -16809,13 +16855,17 @@
   id: 0xbb6565fa
   name: "memrchr"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xda211cb9
+  full_name: "memrchr_resolver"
 }
 elf_symbol {
   id: 0xd1412061
   name: "memset"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xe5f0281e
+  full_name: "memset_resolver"
 }
 elf_symbol {
   id: 0x37070c75
diff --git a/33/arm64/libc/abi.stg b/33/arm64/libc/abi.stg
index d02c873..7729e61 100644
--- a/33/arm64/libc/abi.stg
+++ b/33/arm64/libc/abi.stg
@@ -349,6 +349,11 @@
   pointee_type_id: 0x6019d5cc
 }
 pointer_reference {
+  id: 0x134e5f85
+  kind: POINTER
+  pointee_type_id: 0x67799889
+}
+pointer_reference {
   id: 0x13580d6c
   kind: POINTER
   pointee_type_id: 0x6720d32f
@@ -469,6 +474,11 @@
   pointee_type_id: 0x5391e121
 }
 pointer_reference {
+  id: 0x1e8b5236
+  kind: POINTER
+  pointee_type_id: 0x506dae47
+}
+pointer_reference {
   id: 0x1ebe4388
   kind: POINTER
   pointee_type_id: 0x50b9e8bd
@@ -1694,6 +1704,16 @@
   referred_type_id: 0x506099b0
 }
 typedef {
+  id: 0x506dae47
+  name: "memrchr_func"
+  referred_type_id: 0x9266a843
+}
+typedef {
+  id: 0x67799889
+  name: "memset_func"
+  referred_type_id: 0x9a0e3475
+}
+typedef {
   id: 0x056861e3
   name: "mode_t"
   referred_type_id: 0x165b2b6a
@@ -9127,6 +9147,13 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0x9266a843
+  return_type_id: 0x6720d32f
+  parameter_id: 0x391f15ea
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x92671f68
   return_type_id: 0x6720d32f
   parameter_id: 0x3e10b518
@@ -10179,6 +10206,13 @@
   parameter_id: 0x4585663f
 }
 function {
+  id: 0x9a0e3475
+  return_type_id: 0x6720d32f
+  parameter_id: 0x18bd6530
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x9a65230c
   return_type_id: 0x6720d32f
   parameter_id: 0x1f97008e
@@ -11355,6 +11389,12 @@
   parameter_id: 0x24af31e4
 }
 function {
+  id: 0xda211cb9
+  return_type_id: 0x1e8b5236
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xdc08c25a
   return_type_id: 0x3b075a2f
   parameter_id: 0x3b075a2f
@@ -11420,6 +11460,12 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0xe5f0281e
+  return_type_id: 0x134e5f85
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xe8cade9e
   return_type_id: 0x949ddea9
   parameter_id: 0x6720d32f
@@ -16870,13 +16916,17 @@
   id: 0xbb6565fa
   name: "memrchr"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xda211cb9
+  full_name: "memrchr_resolver"
 }
 elf_symbol {
   id: 0xd1412061
   name: "memset"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xe5f0281e
+  full_name: "memset_resolver"
 }
 elf_symbol {
   id: 0x37070c75
diff --git a/34/arm64/libc/abi.stg b/34/arm64/libc/abi.stg
index 5c5a343..32fa924 100644
--- a/34/arm64/libc/abi.stg
+++ b/34/arm64/libc/abi.stg
@@ -349,6 +349,11 @@
   pointee_type_id: 0x6019d5cc
 }
 pointer_reference {
+  id: 0x134e5f85
+  kind: POINTER
+  pointee_type_id: 0x67799889
+}
+pointer_reference {
   id: 0x13580d6c
   kind: POINTER
   pointee_type_id: 0x6720d32f
@@ -469,6 +474,11 @@
   pointee_type_id: 0x5391e121
 }
 pointer_reference {
+  id: 0x1e8b5236
+  kind: POINTER
+  pointee_type_id: 0x506dae47
+}
+pointer_reference {
   id: 0x1ebe4388
   kind: POINTER
   pointee_type_id: 0x50b9e8bd
@@ -1694,6 +1704,16 @@
   referred_type_id: 0x506099b0
 }
 typedef {
+  id: 0x506dae47
+  name: "memrchr_func"
+  referred_type_id: 0x9266a843
+}
+typedef {
+  id: 0x67799889
+  name: "memset_func"
+  referred_type_id: 0x9a0e3475
+}
+typedef {
   id: 0x056861e3
   name: "mode_t"
   referred_type_id: 0x165b2b6a
@@ -9134,6 +9154,13 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0x9266a843
+  return_type_id: 0x6720d32f
+  parameter_id: 0x391f15ea
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x92671f68
   return_type_id: 0x6720d32f
   parameter_id: 0x3e10b518
@@ -10192,6 +10219,13 @@
   parameter_id: 0x4585663f
 }
 function {
+  id: 0x9a0e3475
+  return_type_id: 0x6720d32f
+  parameter_id: 0x18bd6530
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x9a65230c
   return_type_id: 0x6720d32f
   parameter_id: 0x1f97008e
@@ -11368,6 +11402,12 @@
   parameter_id: 0x24af31e4
 }
 function {
+  id: 0xda211cb9
+  return_type_id: 0x1e8b5236
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xdc08c25a
   return_type_id: 0x3b075a2f
   parameter_id: 0x3b075a2f
@@ -11433,6 +11473,12 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0xe5f0281e
+  return_type_id: 0x134e5f85
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xe8cade9e
   return_type_id: 0x949ddea9
   parameter_id: 0x6720d32f
@@ -16903,13 +16949,17 @@
   id: 0xbb6565fa
   name: "memrchr"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xda211cb9
+  full_name: "memrchr_resolver"
 }
 elf_symbol {
   id: 0xd1412061
   name: "memset"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xe5f0281e
+  full_name: "memset_resolver"
 }
 elf_symbol {
   id: 0x3a6616ed
diff --git a/VanillaIceCream/arm64/libc/abi.stg b/VanillaIceCream/arm64/libc/abi.stg
index e23f1be..83d56a9 100644
--- a/VanillaIceCream/arm64/libc/abi.stg
+++ b/VanillaIceCream/arm64/libc/abi.stg
@@ -354,6 +354,11 @@
   pointee_type_id: 0x6019d5cc
 }
 pointer_reference {
+  id: 0x134e5f85
+  kind: POINTER
+  pointee_type_id: 0x67799889
+}
+pointer_reference {
   id: 0x13580d6c
   kind: POINTER
   pointee_type_id: 0x6720d32f
@@ -474,6 +479,11 @@
   pointee_type_id: 0x5391e121
 }
 pointer_reference {
+  id: 0x1e8b5236
+  kind: POINTER
+  pointee_type_id: 0x506dae47
+}
+pointer_reference {
   id: 0x1ebe4388
   kind: POINTER
   pointee_type_id: 0x50b9e8bd
@@ -1714,6 +1724,16 @@
   referred_type_id: 0x506099b0
 }
 typedef {
+  id: 0x506dae47
+  name: "memrchr_func"
+  referred_type_id: 0x9266a843
+}
+typedef {
+  id: 0x67799889
+  name: "memset_func"
+  referred_type_id: 0x9a0e3475
+}
+typedef {
   id: 0x056861e3
   name: "mode_t"
   referred_type_id: 0x165b2b6a
@@ -9223,6 +9243,13 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0x9266a843
+  return_type_id: 0x6720d32f
+  parameter_id: 0x391f15ea
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x92671f68
   return_type_id: 0x6720d32f
   parameter_id: 0x3e10b518
@@ -10281,6 +10308,13 @@
   parameter_id: 0x4585663f
 }
 function {
+  id: 0x9a0e3475
+  return_type_id: 0x6720d32f
+  parameter_id: 0x18bd6530
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x9a65230c
   return_type_id: 0x6720d32f
   parameter_id: 0x1f97008e
@@ -11476,6 +11510,12 @@
   parameter_id: 0x24af31e4
 }
 function {
+  id: 0xda211cb9
+  return_type_id: 0x1e8b5236
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xdc08c25a
   return_type_id: 0x3b075a2f
   parameter_id: 0x3b075a2f
@@ -11541,6 +11581,12 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0xe5f0281e
+  return_type_id: 0x134e5f85
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xe8cade9e
   return_type_id: 0x949ddea9
   parameter_id: 0x6720d32f
@@ -17083,13 +17129,17 @@
   id: 0xbb6565fa
   name: "memrchr"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xda211cb9
+  full_name: "memrchr_resolver"
 }
 elf_symbol {
   id: 0xd1412061
   name: "memset"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xe5f0281e
+  full_name: "memset_resolver"
 }
 elf_symbol {
   id: 0x3a6616ed
diff --git a/current/arm64/libc/abi.stg b/current/arm64/libc/abi.stg
index e23f1be..83d56a9 100644
--- a/current/arm64/libc/abi.stg
+++ b/current/arm64/libc/abi.stg
@@ -354,6 +354,11 @@
   pointee_type_id: 0x6019d5cc
 }
 pointer_reference {
+  id: 0x134e5f85
+  kind: POINTER
+  pointee_type_id: 0x67799889
+}
+pointer_reference {
   id: 0x13580d6c
   kind: POINTER
   pointee_type_id: 0x6720d32f
@@ -474,6 +479,11 @@
   pointee_type_id: 0x5391e121
 }
 pointer_reference {
+  id: 0x1e8b5236
+  kind: POINTER
+  pointee_type_id: 0x506dae47
+}
+pointer_reference {
   id: 0x1ebe4388
   kind: POINTER
   pointee_type_id: 0x50b9e8bd
@@ -1714,6 +1724,16 @@
   referred_type_id: 0x506099b0
 }
 typedef {
+  id: 0x506dae47
+  name: "memrchr_func"
+  referred_type_id: 0x9266a843
+}
+typedef {
+  id: 0x67799889
+  name: "memset_func"
+  referred_type_id: 0x9a0e3475
+}
+typedef {
   id: 0x056861e3
   name: "mode_t"
   referred_type_id: 0x165b2b6a
@@ -9223,6 +9243,13 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0x9266a843
+  return_type_id: 0x6720d32f
+  parameter_id: 0x391f15ea
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x92671f68
   return_type_id: 0x6720d32f
   parameter_id: 0x3e10b518
@@ -10281,6 +10308,13 @@
   parameter_id: 0x4585663f
 }
 function {
+  id: 0x9a0e3475
+  return_type_id: 0x6720d32f
+  parameter_id: 0x18bd6530
+  parameter_id: 0x6720d32f
+  parameter_id: 0xf435685e
+}
+function {
   id: 0x9a65230c
   return_type_id: 0x6720d32f
   parameter_id: 0x1f97008e
@@ -11476,6 +11510,12 @@
   parameter_id: 0x24af31e4
 }
 function {
+  id: 0xda211cb9
+  return_type_id: 0x1e8b5236
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xdc08c25a
   return_type_id: 0x3b075a2f
   parameter_id: 0x3b075a2f
@@ -11541,6 +11581,12 @@
   parameter_id: 0x6720d32f
 }
 function {
+  id: 0xe5f0281e
+  return_type_id: 0x134e5f85
+  parameter_id: 0x1c898f28
+  parameter_id: 0x24af31e4
+}
+function {
   id: 0xe8cade9e
   return_type_id: 0x949ddea9
   parameter_id: 0x6720d32f
@@ -17083,13 +17129,17 @@
   id: 0xbb6565fa
   name: "memrchr"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xda211cb9
+  full_name: "memrchr_resolver"
 }
 elf_symbol {
   id: 0xd1412061
   name: "memset"
   is_defined: true
-  symbol_type: FUNCTION
+  symbol_type: GNU_IFUNC
+  type_id: 0xe5f0281e
+  full_name: "memset_resolver"
 }
 elf_symbol {
   id: 0x3a6616ed