aboutsummaryrefslogtreecommitdiff
path: root/ld/ldexp.h
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-08-02 12:06:23 +0100
committerSam James <sam@gentoo.org>2023-08-02 12:06:23 +0100
commitb5c37946cce4b41af0436529b139fa3d23e61f73 (patch)
tree02129ebadb74e7d3f2430cf8221799ce186600e3 /ld/ldexp.h
parent675b9d612cc59446e84e2c6d89b45500cb603a8d (diff)
downloadbinutils-b5c37946cce4b41af0436529b139fa3d23e61f73.zip
binutils-b5c37946cce4b41af0436529b139fa3d23e61f73.tar.gz
binutils-b5c37946cce4b41af0436529b139fa3d23e61f73.tar.bz2
Revert "2.41 Release sources"
This reverts commit 675b9d612cc59446e84e2c6d89b45500cb603a8d. See https://sourceware.org/pipermail/binutils/2023-August/128761.html.
Diffstat (limited to 'ld/ldexp.h')
-rw-r--r--ld/ldexp.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/ld/ldexp.h b/ld/ldexp.h
index 70908c1..7c30275 100644
--- a/ld/ldexp.h
+++ b/ld/ldexp.h
@@ -133,6 +133,8 @@ enum relro_enum {
exp_seg_relro_end,
};
+struct lang_output_section_statement_struct;
+
typedef struct {
enum phase_enum phase;
@@ -176,10 +178,17 @@ struct ldexp_control {
etree_value_type result;
bfd_vma dot;
- /* Current dot and section passed to ldexp folder. */
+ /* Current dot and section passed to ldexp folder. SECTION will be
+ bfd_abs_section for expressions outside of an output section
+ statement. */
bfd_vma *dotp;
asection *section;
+ /* Last output section statement. For expressions within an output
+ section statement, this will be the current output section
+ statement being processed. */
+ struct lang_output_section_statement_struct *last_os;
+
/* State machine and results for DATASEG. */
seg_align_type dataseg;
};
@@ -211,9 +220,10 @@ etree_type *exp_bigintop
etree_type *exp_relop
(asection *, bfd_vma);
void exp_fold_tree
- (etree_type *, asection *, bfd_vma *);
+ (etree_type *, struct lang_output_section_statement_struct *,
+ asection *, bfd_vma *);
void exp_fold_tree_no_dot
- (etree_type *);
+ (etree_type *, struct lang_output_section_statement_struct *);
etree_type *exp_binop
(int, etree_type *, etree_type *);
etree_type *exp_trinop
@@ -233,9 +243,9 @@ etree_type *exp_assert
void exp_print_tree
(etree_type *);
bfd_vma exp_get_vma
- (etree_type *, bfd_vma, char *);
+ (etree_type *, struct lang_output_section_statement_struct *, bfd_vma, char *);
int exp_get_power
- (etree_type *, char *);
+ (etree_type *, struct lang_output_section_statement_struct *, char *);
fill_type *exp_get_fill
(etree_type *, fill_type *, char *);
bfd_vma exp_get_abs_int