summaryrefslogtreecommitdiffstats
path: root/contrib/binutils/gas/ehopt.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/binutils/gas/ehopt.c')
-rw-r--r--contrib/binutils/gas/ehopt.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/contrib/binutils/gas/ehopt.c b/contrib/binutils/gas/ehopt.c
index 4f5c9b2..451aaff 100644
--- a/contrib/binutils/gas/ehopt.c
+++ b/contrib/binutils/gas/ehopt.c
@@ -1,5 +1,5 @@
/* ehopt.c--optimize gcc exception frame information.
- Copyright 1998, 2000, 2001 Free Software Foundation, Inc.
+ Copyright 1998, 2000, 2001, 2003 Free Software Foundation, Inc.
Written by Ian Lance Taylor <ian@cygnus.com>.
This file is part of GAS, the GNU Assembler.
@@ -94,13 +94,12 @@ struct cie_info
int z_augmentation;
};
-static int get_cie_info PARAMS ((struct cie_info *));
+static int get_cie_info (struct cie_info *);
/* Extract information from the CIE. */
static int
-get_cie_info (info)
- struct cie_info *info;
+get_cie_info (struct cie_info *info)
{
fragS *f;
fixS *fix;
@@ -248,9 +247,7 @@ get_cie_info (info)
change *EXP and *PNBYTES. */
int
-check_eh_frame (exp, pnbytes)
- expressionS *exp;
- unsigned int *pnbytes;
+check_eh_frame (expressionS *exp, unsigned int *pnbytes)
{
struct frame_data
{
@@ -363,6 +360,8 @@ check_eh_frame (exp, pnbytes)
}
else
d->state = state_error;
+ if (d->state == state_skipping_aug && d->aug_size == 0)
+ d->state = state_wait_loc4;
break;
case state_skipping_aug:
@@ -455,8 +454,7 @@ check_eh_frame (exp, pnbytes)
relaxation loop. We set fr_subtype{0:2} to the expected length. */
int
-eh_frame_estimate_size_before_relax (frag)
- fragS *frag;
+eh_frame_estimate_size_before_relax (fragS *frag)
{
offsetT diff;
int ca = frag->fr_subtype >> 3;
@@ -483,8 +481,7 @@ eh_frame_estimate_size_before_relax (frag)
the frag. This returns the change in frag length. */
int
-eh_frame_relax_frag (frag)
- fragS *frag;
+eh_frame_relax_frag (fragS *frag)
{
int oldsize, newsize;
@@ -498,8 +495,7 @@ eh_frame_relax_frag (frag)
fr_subtype{0:2} will be the desired length of the frag. */
void
-eh_frame_convert_frag (frag)
- fragS *frag;
+eh_frame_convert_frag (fragS *frag)
{
offsetT diff;
fragS *loc4_frag;
OpenPOWER on IntegriCloud