[Bug gas/12287] New: C++ throws fail when using latest GNU assembler on IA64

2010-12-03 Thread sje at cup dot hp.com
http://sourceware.org/bugzilla/show_bug.cgi?id=12287

   Summary: C++ throws fail when using latest GNU assembler on
IA64
   Product: binutils
   Version: 2.22 (HEAD)
Status: NEW
  Severity: normal
  Priority: P2
 Component: gas
AssignedTo: unassig...@sources.redhat.com
ReportedBy: s...@cup.hp.com


C++ programs that include throws, like:

struct Bar { ~Bar() { throw 1; } };
int main()
{
  try { Bar f; }
  catch(int i) { return 0; }
  return 0;
}

fail when I use the latest gnu assembler.  This starts after this checkin:

2010-12-01  Maciej W. Rozycki  

* symbols.h (dot_symbol): New declaration.
(dot_symbol_init): New prototype.
* symbols.c (dot_symbol): New variable.
(symbol_clone): Assert it's not dot_symbol being cloned.
(dot_symbol_init): New function.
(symbol_clone_if_forward_ref): Create a new temporary symbol
when trying to clone dot_symbol.
* expr.c (current_location): Refer to dot_symbol instead of
making a new temporary symbol.
* read.c (read_a_source_file): Update dot_symbol as we go.
* as.c (main): Call dot_symbol_init.

Also, before this change I got 3 failures in the GAS testsuite:

FAIL: ia64 unwind descriptors
FAIL: lns-duplicate
FAIL: lns-common-1

After this change I get five failures:

FAIL: ia64 unwind relocations (ilp32)
FAIL: ia64 proc
FAIL: ia64 unwind descriptors
FAIL: lns-duplicate
FAIL: lns-common-1

I have tried using objdump to find the difference in the object files
before and after the gas change but the output of objdump is the same
before and after so I am not sure what the problem is.

I have been investigating this on ia64-hp-hpux11.23 but I believe it
can be reproduced on an ia64-*-linux-gnu platform as well.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are on the CC list for the bug.

___
bug-binutils mailing list
bug-binutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gas/13167] New: Patch for 13024 breaks GCC build on IA64 HP-UX

2011-09-07 Thread sje at cup dot hp.com
http://sourceware.org/bugzilla/show_bug.cgi?id=13167

 Bug #: 13167
   Summary: Patch for 13024 breaks GCC build on IA64 HP-UX
   Product: binutils
   Version: 2.22 (HEAD)
Status: NEW
  Severity: normal
  Priority: P2
 Component: gas
AssignedTo: unassig...@sources.redhat.com
ReportedBy: s...@cup.hp.com
Classification: Unclassified


-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are on the CC list for the bug.

___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gas/13167] Patch for 13024 breaks GCC build on IA64 HP-UX

2011-09-07 Thread sje at cup dot hp.com
http://sourceware.org/bugzilla/show_bug.cgi?id=13167

Steve Ellcey  changed:

   What|Removed |Added

 Target||ia64-hp-hpux11*
 CC||richard.sandiford at linaro
   ||dot org

--- Comment #1 from Steve Ellcey  2011-09-07 21:47:41 
UTC ---
Looks like I accidently submitted this without the full info.  The C program
that I am trying to compile is:

float __floattisf (long long u)
{
  long double f = (long) (u >> 8);
  return (float) f;
}

This generates about 300 lines of assembly, but if I cut that down, I get
this file that will not go through the assembler:

.file 1 "x.c"
mov r1 = r35
.loc 1 4 0
nop 0
mov r36 = r8
br.call.sptk.many b0 = _U_Qfcnvff_quad_to_sgl#
.loc 1 5 0
.loc 1 4 0
mov r1 = r35

I think the problem are the last two .loc lines.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are on the CC list for the bug.

___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils