X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gold%2Fscript-c.h;h=41e07009214f4d7a81f6e9033ef9a15d65fd9a84;hb=d27c357a5b83773054e85ff3ea5dbfe18b9dd3c0;hp=29901e3c3a8c77887b4bf44de1096980379a8a70;hpb=e1df38aad4ef1b435dd84ca885523d3014a09e62;p=deliverable%2Fbinutils-gdb.git diff --git a/gold/script-c.h b/gold/script-c.h index 29901e3c3a..41e0700921 100644 --- a/gold/script-c.h +++ b/gold/script-c.h @@ -1,6 +1,6 @@ /* script-c.h -- C interface for linker scripts in gold. */ -/* Copyright 2006, 2007, 2008 Free Software Foundation, Inc. +/* Copyright (C) 2006-2020 Free Software Foundation, Inc. Written by Ian Lance Taylor . This file is part of gold. @@ -139,7 +139,8 @@ enum Sort_wildcard SORT_WILDCARD_BY_NAME, SORT_WILDCARD_BY_ALIGNMENT, SORT_WILDCARD_BY_NAME_BY_ALIGNMENT, - SORT_WILDCARD_BY_ALIGNMENT_BY_NAME + SORT_WILDCARD_BY_ALIGNMENT_BY_NAME, + SORT_WILDCARD_BY_INIT_PRIORITY }; /* The information we build for a single wildcard specification. */ @@ -303,6 +304,14 @@ script_push_lex_into_version_mode(void* closure); extern void script_pop_lex_mode(void* closure); +/* Called by the bison parser to get the value of a symbol. This is + called for a reference to a symbol, but is not called for something + like "sym += 10". Uses of the special symbol "." can just call + script_exp_string. */ + +extern Expression_ptr +script_symbol(void* closure, const char*, size_t); + /* Called by the bison parser to set a symbol to a value. PROVIDE is non-zero if the symbol should be provided--only defined if there is an undefined reference. HIDDEN is non-zero if the symbol should be @@ -413,6 +422,21 @@ script_data_segment_relro_end(void* closure); extern void script_saw_segment_start_expression(void* closure); +/* Called by the bison parser for MEMORY regions. */ + +extern void +script_add_memory(void*, const char*, size_t, unsigned int, + Expression_ptr, Expression_ptr); + +extern unsigned int +script_parse_memory_attr(void*, const char*, size_t, int); + +extern void +script_set_section_region(void*, const char*, size_t, int); + +extern void +script_include_directive(int, void *, const char*, size_t); + /* Called by the bison parser for expressions. */ extern Expression_ptr @@ -480,9 +504,9 @@ script_exp_function_addr(const char*, size_t); extern Expression_ptr script_exp_function_loadaddr(const char*, size_t); extern Expression_ptr -script_exp_function_origin(const char*, size_t); +script_exp_function_origin(void*, const char*, size_t); extern Expression_ptr -script_exp_function_length(const char*, size_t); +script_exp_function_length(void*, const char*, size_t); extern Expression_ptr script_exp_function_constant(const char*, size_t); extern Expression_ptr @@ -504,27 +528,27 @@ extern void script_register_vers_node(void* closure, const char* tag, int taglen, - struct Version_tree *, - struct Version_dependency_list *); + struct Version_tree*, + struct Version_dependency_list*); -extern struct Version_dependency_list * +extern struct Version_dependency_list* script_add_vers_depend(void* closure, - struct Version_dependency_list *existing_dependencies, - const char *depend_to_add, int deplen); + struct Version_dependency_list* existing_dependencies, + const char* depend_to_add, int deplen); -extern struct Version_expression_list * +extern struct Version_expression_list* script_new_vers_pattern(void* closure, - struct Version_expression_list *, - const char *, int, int); + struct Version_expression_list*, + const char*, int, int); -extern struct Version_expression_list * -script_merge_expressions(struct Version_expression_list *a, - struct Version_expression_list *b); +extern struct Version_expression_list* +script_merge_expressions(struct Version_expression_list* a, + struct Version_expression_list* b); -extern struct Version_tree * +extern struct Version_tree* script_new_vers_node(void* closure, - struct Version_expression_list *global, - struct Version_expression_list *local); + struct Version_expression_list* global, + struct Version_expression_list* local); extern void version_script_push_lang(void* closure, const char* lang, int langlen);