[Linux-ia64] segv with gas using gcc 3.2

From: Robert K Gjertsen <gjertsen_at_us.ibm.com>
Date: 2003-01-30 02:21:09
I'm seeing gas yak/segv on some assembly code that we use
to avoid pulling extraneous instructions into the
instruction cache (avoid debugging code when debugging is turned off).
This used to work with gcc 2.96 but now dies with gcc 3.2
when optimizations are turned on (-O or higher). I'm trying to reduce this
to a smaller and manageable case and also figure out whether
I'm doing something ill-advised given that we are making
some assumptions on how the code is ordered in the remote
section (works OK on i386 with gcc 3.2).
Just seeing if someone may have some insight on my example below.



I use something like the following where the
assembly code before and after is usually a gcc asm
macro for convenience (and this isn't all bundled together
in a gcc asm statement like you see in spinlock.h with read_lock
... perhaps it has to be done that way with IA64),
and this is done numerous times in a particular file.

br.cond.sptk.few 2f
".section .text.trace,"ax
# various instructions for my debugging/tracing code

br.cond.sptk.many 1f
Received on Wed Jan 29 07:21:22 2003

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:11 EST