projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Support R_PPC64_ADDR64_LOCAL
[deliverable/binutils-gdb.git]
/
gas
/
read.c
diff --git
a/gas/read.c
b/gas/read.c
index d65971cfbec53185df42ed04759f6fe5e65500f3..02f5a255b64587a46de6fe8118c7b55c51e31fab 100644
(file)
--- a/
gas/read.c
+++ b/
gas/read.c
@@
-1,7
+1,5
@@
/* read.c - read a source file -
/* read.c - read a source file -
- Copyright 1986, 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
- 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010, 2011, 2012 Free Software Foundation, Inc.
+ Copyright 1986-2013 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
This file is part of GAS, the GNU Assembler.
@@
-1306,10
+1304,10
@@
read_a_source_file (char *name)
}
/* Convert O_constant expression EXP into the equivalent O_big representation.
}
/* Convert O_constant expression EXP into the equivalent O_big representation.
- Take the sign of the number from
X_unsigned
rather than X_add_number. */
+ Take the sign of the number from
SIGN
rather than X_add_number. */
static void
static void
-convert_to_bignum (expressionS *exp)
+convert_to_bignum (expressionS *exp
, int sign
)
{
valueT value;
unsigned int i;
{
valueT value;
unsigned int i;
@@
-1322,8
+1320,8
@@
convert_to_bignum (expressionS *exp)
}
/* Add a sequence of sign bits if the top bit of X_add_number is not
the sign of the original value. */
}
/* Add a sequence of sign bits if the top bit of X_add_number is not
the sign of the original value. */
- if ((exp->X_add_number < 0)
!= !exp->X_unsigned
)
- generic_bignum[i++] =
exp->X_unsigned ? 0 : LITTLENUM_MASK
;
+ if ((exp->X_add_number < 0)
== !sign
)
+ generic_bignum[i++] =
sign ? LITTLENUM_MASK : 0
;
exp->X_op = O_big;
exp->X_add_number = i;
}
exp->X_op = O_big;
exp->X_add_number = i;
}
@@
-4087,10
+4085,9
@@
emit_expr (expressionS *exp, unsigned int nbytes)
if (need_pass_2)
return;
if (need_pass_2)
return;
- /* Grow the current frag now so that dot_value does not get invalidated
- if the frag were to fill up in the frag_more() call below. */
frag_grow (nbytes);
dot_value = frag_now_fix ();
frag_grow (nbytes);
dot_value = frag_now_fix ();
+ dot_frag = frag_now;
#ifndef NO_LISTING
#ifdef OBJ_ELF
#ifndef NO_LISTING
#ifdef OBJ_ELF
@@
-4251,7
+4248,7
@@
emit_expr (expressionS *exp, unsigned int nbytes)
if (op == O_constant && nbytes > sizeof (valueT))
{
extra_digit = exp->X_unsigned ? 0 : -1;
if (op == O_constant && nbytes > sizeof (valueT))
{
extra_digit = exp->X_unsigned ? 0 : -1;
- convert_to_bignum (exp);
+ convert_to_bignum (exp
, !exp->X_unsigned
);
op = O_big;
}
op = O_big;
}
@@
-4545,6
+4542,7
@@
parse_bitfield_cons (exp, nbytes)
exp->X_add_number = value;
exp->X_op = O_constant;
exp->X_unsigned = 1;
exp->X_add_number = value;
exp->X_op = O_constant;
exp->X_unsigned = 1;
+ exp->X_extrabit = 0;
}
}
}
}
@@
-5104,12
+5102,12
@@
emit_leb128_expr (expressionS *exp, int sign)
}
else if (op == O_constant
&& sign
}
else if (op == O_constant
&& sign
- && (exp->X_add_number < 0)
!= !exp->X_unsigned
)
+ && (exp->X_add_number < 0)
== !exp->X_extrabit
)
{
/* We're outputting a signed leb128 and the sign of X_add_number
doesn't reflect the sign of the original value. Convert EXP
to a correctly-extended bignum instead. */
{
/* We're outputting a signed leb128 and the sign of X_add_number
doesn't reflect the sign of the original value. Convert EXP
to a correctly-extended bignum instead. */
- convert_to_bignum (exp);
+ convert_to_bignum (exp
, exp->X_extrabit
);
op = O_big;
}
op = O_big;
}
@@
-5794,8
+5792,8
@@
add_include_dir (char *path)
{
include_dir_count++;
include_dirs =
{
include_dir_count++;
include_dirs =
- (char **) realloc (include_dirs,
- include_dir_count * sizeof (*include_dirs));
+ (char **)
x
realloc (include_dirs,
+
include_dir_count * sizeof (*include_dirs));
}
include_dirs[include_dir_count - 1] = path; /* New one. */
}
include_dirs[include_dir_count - 1] = path; /* New one. */
This page took
0.024539 seconds
and
4
git commands to generate.