forked from Imagelibrary/binutils-gdb
* expr.c (expr): Correct returned segment value.
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
2010-09-29 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* expr.c (expr): Correct returned segment value.
|
||||
|
||||
2010-09-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* configure: Regenerate.
|
||||
@@ -57,7 +61,7 @@
|
||||
(arm_ext_m): Add support for OS extension.
|
||||
(arm_ext_os): New variable.
|
||||
(do_t_swi): In v6-M ensure we have the OS extension.
|
||||
(arm_cpus): The cortex-m1 and cortex-m0 options have the OS
|
||||
(arm_cpus): The cortex-m1 and cortex-m0 options have the OS
|
||||
extension by default.
|
||||
(arm_archs): Add armv6s-m.
|
||||
(arm_extensions): Add 'os' extension.
|
||||
@@ -98,7 +102,7 @@
|
||||
(arm_option_cpu_table): Rename...
|
||||
(arm_option_fpu_table): ...to this.
|
||||
(arm_fpus): Change type.
|
||||
(arm_parse_extension): Enforce alphabetical order. Allow
|
||||
(arm_parse_extension): Enforce alphabetical order. Allow
|
||||
extensions to be removed.
|
||||
(arm_parse_arch): Allow extensions to be specified with -march.
|
||||
(s_arm_arch_extension): Add.
|
||||
|
||||
27
gas/expr.c
27
gas/expr.c
@@ -1969,16 +1969,27 @@ expr (int rankarg, /* Larger # is higher rank. */
|
||||
|
||||
if (retval != rightseg)
|
||||
{
|
||||
if (! SEG_NORMAL (retval))
|
||||
{
|
||||
if (retval != undefined_section || SEG_NORMAL (rightseg))
|
||||
retval = rightseg;
|
||||
}
|
||||
else if (SEG_NORMAL (rightseg)
|
||||
if (retval == undefined_section)
|
||||
;
|
||||
else if (rightseg == undefined_section)
|
||||
retval = rightseg;
|
||||
else if (retval == expr_section)
|
||||
;
|
||||
else if (rightseg == expr_section)
|
||||
retval = rightseg;
|
||||
else if (retval == reg_section)
|
||||
;
|
||||
else if (rightseg == reg_section)
|
||||
retval = rightseg;
|
||||
else if (rightseg == absolute_section)
|
||||
;
|
||||
else if (retval == absolute_section)
|
||||
retval = rightseg;
|
||||
#ifdef DIFF_EXPR_OK
|
||||
&& op_left != O_subtract
|
||||
else if (op_left == O_subtract)
|
||||
;
|
||||
#endif
|
||||
)
|
||||
else
|
||||
as_bad (_("operation combines symbols in different segments"));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user