diff options
Diffstat (limited to 'gas/read.c')
-rw-r--r-- | gas/read.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gas/read.c b/gas/read.c index beb761f371..209ab6ad08 100644 --- a/gas/read.c +++ b/gas/read.c @@ -4393,6 +4393,7 @@ emit_leb128_expr (exp, sign) int sign; { operatorT op = exp->X_op; + int nbytes; if (op == O_absent || op == O_illegal) { @@ -4412,6 +4413,12 @@ emit_leb128_expr (exp, sign) op = O_constant; } + /* Let check_eh_frame know that data is being emitted. nbytes == -1 is + a signal that this is leb128 data. It shouldn't optimize this away. */ + nbytes = -1; + if (check_eh_frame (exp, &nbytes)) + abort (); + if (op == O_constant) { /* If we've got a constant, emit the thing directly right now. */ |