Skip to content

Commit fe8a6c3

Browse files
committed
Address general code review feedback
- Remove redundant include - Rename fields in AArch64PauthAbiCoreInfo - Simplify assignment using direct initialization
1 parent 25ee99e commit fe8a6c3

File tree

5 files changed

+20
-26
lines changed

5 files changed

+20
-26
lines changed

lld/ELF/Arch/AArch64.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1045,8 +1045,8 @@ AArch64BtiPac::AArch64BtiPac(Ctx &ctx) : AArch64(ctx) {
10451045

10461046
if (ctx.arg.zPacPlt) {
10471047
if (ctx.aarch64PauthAbiCoreInfo.has_value() &&
1048-
(ctx.aarch64PauthAbiCoreInfo->aarch64PauthAbiPlatform != 0 ||
1049-
ctx.aarch64PauthAbiCoreInfo->aarch64PauthAbiVersion != 0))
1048+
(ctx.aarch64PauthAbiCoreInfo->platform != 0 ||
1049+
ctx.aarch64PauthAbiCoreInfo->version != 0))
10501050
pacEntryKind = PEK_Auth;
10511051
else
10521052
pacEntryKind = PEK_AuthHint;

lld/ELF/Config.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
#include "llvm/Support/GlobPattern.h"
3030
#include "llvm/Support/TarWriter.h"
3131
#include <atomic>
32-
#include <cstdint>
3332
#include <memory>
3433
#include <mutex>
3534
#include <optional>
@@ -141,8 +140,8 @@ enum class GcsPolicy { Implicit, Never, Always };
141140
enum class ReportPolicy { None, Warning, Error };
142141

143142
struct AArch64PauthAbiCoreInfo {
144-
uint64_t aarch64PauthAbiPlatform;
145-
uint64_t aarch64PauthAbiVersion;
143+
uint64_t platform;
144+
uint64_t version;
146145
};
147146

148147
struct SymbolVersion {

lld/ELF/Driver.cpp

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2848,10 +2848,9 @@ static void readSecurityNotes(Ctx &ctx) {
28482848
referenceFileName = (*it)->getName();
28492849
}
28502850
}
2851-
bool hasValidPauthAbiCoreInfo =
2852-
ctx.aarch64PauthAbiCoreInfo.has_value() &&
2853-
(ctx.aarch64PauthAbiCoreInfo->aarch64PauthAbiPlatform != 0 ||
2854-
ctx.aarch64PauthAbiCoreInfo->aarch64PauthAbiVersion != 0);
2851+
bool hasValidPauthAbiCoreInfo = ctx.aarch64PauthAbiCoreInfo.has_value() &&
2852+
(ctx.aarch64PauthAbiCoreInfo->platform != 0 ||
2853+
ctx.aarch64PauthAbiCoreInfo->version != 0);
28552854

28562855
auto report = [&](ReportPolicy policy) -> ELFSyncStream {
28572856
return {ctx, toDiagLevel(policy)};
@@ -2923,24 +2922,24 @@ static void readSecurityNotes(Ctx &ctx) {
29232922
continue;
29242923
}
29252924

2926-
if (ctx.aarch64PauthAbiCoreInfo->aarch64PauthAbiPlatform !=
2927-
f->aarch64PauthAbiCoreInfo->aarch64PauthAbiPlatform)
2925+
if (ctx.aarch64PauthAbiCoreInfo->platform !=
2926+
f->aarch64PauthAbiCoreInfo->platform)
29282927
Err(ctx) << "incompatible AArch64 PAuth Platform Values\n>>> "
29292928
<< referenceFileName << ": 0x"
2930-
<< toHex(ctx.aarch64PauthAbiCoreInfo->aarch64PauthAbiPlatform,
2929+
<< toHex(ctx.aarch64PauthAbiCoreInfo->platform,
29312930
/*LowerCase=*/true)
29322931
<< "\n>>> " << f << ": 0x"
2933-
<< toHex(f->aarch64PauthAbiCoreInfo->aarch64PauthAbiPlatform,
2932+
<< toHex(f->aarch64PauthAbiCoreInfo->platform,
29342933
/*LowerCase=*/true);
29352934

2936-
if (ctx.aarch64PauthAbiCoreInfo->aarch64PauthAbiVersion !=
2937-
f->aarch64PauthAbiCoreInfo->aarch64PauthAbiVersion)
2935+
if (ctx.aarch64PauthAbiCoreInfo->version !=
2936+
f->aarch64PauthAbiCoreInfo->version)
29382937
Err(ctx) << "incompatible AArch64 PAuth Version Values\n>>> "
29392938
<< referenceFileName << ": 0x"
2940-
<< toHex(ctx.aarch64PauthAbiCoreInfo->aarch64PauthAbiVersion,
2939+
<< toHex(ctx.aarch64PauthAbiCoreInfo->version,
29412940
/*LowerCase=*/true)
29422941
<< "\n>>> " << f << ": 0x"
2943-
<< toHex(f->aarch64PauthAbiCoreInfo->aarch64PauthAbiVersion,
2942+
<< toHex(f->aarch64PauthAbiCoreInfo->version,
29442943
/*LowerCase=*/true);
29452944
}
29462945

lld/ELF/InputFiles.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -961,11 +961,9 @@ static void parseGnuPropertyNote(Ctx &ctx, ELFFileBase &f,
961961
"is invalid: expected 16 bytes, but got "
962962
<< size);
963963
}
964-
f.aarch64PauthAbiCoreInfo.emplace();
965-
f.aarch64PauthAbiCoreInfo->aarch64PauthAbiPlatform =
966-
support::endian::read64<ELFT::Endianness>(&desc[0]);
967-
f.aarch64PauthAbiCoreInfo->aarch64PauthAbiVersion =
968-
support::endian::read64<ELFT::Endianness>(&desc[8]);
964+
f.aarch64PauthAbiCoreInfo = {
965+
support::endian::read64<ELFT::Endianness>(&desc[0]),
966+
support::endian::read64<ELFT::Endianness>(&desc[8])};
969967
}
970968

971969
// Padding is present in the note descriptor, if necessary.

lld/ELF/SyntheticSections.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -347,10 +347,8 @@ void GnuPropertySection::writeTo(uint8_t *buf) {
347347
if (ctx.aarch64PauthAbiCoreInfo) {
348348
write32(ctx, buf + offset + 0, GNU_PROPERTY_AARCH64_FEATURE_PAUTH);
349349
write32(ctx, buf + offset + 4, sizeof(uint64_t) * 2);
350-
write64(ctx, buf + offset + 8,
351-
ctx.aarch64PauthAbiCoreInfo->aarch64PauthAbiPlatform);
352-
write64(ctx, buf + offset + 16,
353-
ctx.aarch64PauthAbiCoreInfo->aarch64PauthAbiVersion);
350+
write64(ctx, buf + offset + 8, ctx.aarch64PauthAbiCoreInfo->platform);
351+
write64(ctx, buf + offset + 16, ctx.aarch64PauthAbiCoreInfo->version);
354352
}
355353
}
356354

0 commit comments

Comments
 (0)