Merge branch 'upstream-main' into 'main' am: 94e167b828 am: f8680dd7e4
Original change: https://android-review.googlesource.com/c/platform/external/stg/+/3208456
Change-Id: I436ca4b3e65ae119712a5c9c83030eb6880b3366
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/elf_reader.cc b/elf_reader.cc
index 603d05e..b3def7f 100644
--- a/elf_reader.cc
+++ b/elf_reader.cc
@@ -60,6 +60,8 @@
ElfSymbol::SymbolType ConvertSymbolType(
SymbolTableEntry::SymbolType symbol_type) {
switch (symbol_type) {
+ case SymbolTableEntry::SymbolType::NOTYPE:
+ return ElfSymbol::SymbolType::NOTYPE;
case SymbolTableEntry::SymbolType::OBJECT:
return ElfSymbol::SymbolType::OBJECT;
case SymbolTableEntry::SymbolType::FUNCTION:
diff --git a/graph.cc b/graph.cc
index ea343b4..6c5ca05 100644
--- a/graph.cc
+++ b/graph.cc
@@ -82,6 +82,8 @@
std::ostream& operator<<(std::ostream& os, ElfSymbol::SymbolType type) {
switch (type) {
+ case ElfSymbol::SymbolType::NOTYPE:
+ return os << "no-type";
case ElfSymbol::SymbolType::OBJECT:
return os << "variable";
case ElfSymbol::SymbolType::FUNCTION:
diff --git a/graph.h b/graph.h
index 55691d4..3a31540 100644
--- a/graph.h
+++ b/graph.h
@@ -266,7 +266,7 @@
};
struct ElfSymbol {
- enum class SymbolType { OBJECT, FUNCTION, COMMON, TLS, GNU_IFUNC };
+ enum class SymbolType { NOTYPE, OBJECT, FUNCTION, COMMON, TLS, GNU_IFUNC };
enum class Binding { GLOBAL, LOCAL, WEAK, GNU_UNIQUE };
enum class Visibility { DEFAULT, PROTECTED, HIDDEN, INTERNAL };
struct VersionInfo {
diff --git a/proto_reader.cc b/proto_reader.cc
index 9db3bb1..f046458 100644
--- a/proto_reader.cc
+++ b/proto_reader.cc
@@ -385,6 +385,8 @@
stg::ElfSymbol::SymbolType Transformer::Transform(ElfSymbol::SymbolType x) {
switch (x) {
+ case ElfSymbol::NOTYPE:
+ return stg::ElfSymbol::SymbolType::NOTYPE;
case ElfSymbol::OBJECT:
return stg::ElfSymbol::SymbolType::OBJECT;
case ElfSymbol::FUNCTION:
diff --git a/proto_writer.cc b/proto_writer.cc
index 8898180..915981f 100644
--- a/proto_writer.cc
+++ b/proto_writer.cc
@@ -415,6 +415,8 @@
ElfSymbol::SymbolType Transform<MapId>::operator()(
stg::ElfSymbol::SymbolType x) {
switch (x) {
+ case stg::ElfSymbol::SymbolType::NOTYPE:
+ return ElfSymbol::NOTYPE;
case stg::ElfSymbol::SymbolType::OBJECT:
return ElfSymbol::OBJECT;
case stg::ElfSymbol::SymbolType::FUNCTION:
diff --git a/stg.proto b/stg.proto
index 5ba2d6c..ed6c86a 100644
--- a/stg.proto
+++ b/stg.proto
@@ -223,11 +223,12 @@
enum SymbolType {
SYMBOL_TYPE_UNSPECIFIED = 0;
- OBJECT = 1;
- FUNCTION = 2;
- COMMON = 3;
- TLS = 4;
- GNU_IFUNC = 5;
+ NOTYPE = 1;
+ OBJECT = 2;
+ FUNCTION = 3;
+ COMMON = 4;
+ TLS = 5;
+ GNU_IFUNC = 6;
}
enum Binding {