1//===- ScriptParser.h -------------------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLD_ELF_SCRIPT_PARSER_H
10#define LLD_ELF_SCRIPT_PARSER_H
11
12#include "lld/Common/LLVM.h"
13#include "llvm/Support/MemoryBufferRef.h"
14
15namespace lld::elf {
16struct Ctx;
17
18// Parses a linker script. Calling this function updates
19// lld::elf::config and lld::elf::script.
20void readLinkerScript(Ctx &ctx, MemoryBufferRef mb);
21
22// Parses a version script.
23void readVersionScript(Ctx &ctx, MemoryBufferRef mb);
24
25void readDynamicList(Ctx &ctx, MemoryBufferRef mb);
26
27// Parses the defsym expression.
28void readDefsym(Ctx &ctx, MemoryBufferRef mb);
29
30bool hasWildcard(StringRef s);
31
32} // namespace lld::elf
33
34#endif
35