Re: ARM Linux EABI: unwinding through a segfault handler

2011-08-30 Thread Andrew Haley
On 08/29/2011 06:13 PM, Daniel Jacobowitz wrote:
> On Mon, Aug 29, 2011 at 11:18 AM, Ken Werner  wrote:
>> On 08/25/2011 02:26 PM, Andrew Haley wrote:
>>>
>>> Throwing an exception through a segfault handler doesn't always work
>>> on ARM: the attached example fails on current gcc trunk.
>>>
>>> panda-9:~ $ g++ segv.cc -fnon-call-exceptions -g
>>> panda-9:~ $ ./a.out
>>> terminate called after throwing an instance of 'FoobarException*'
>>> Aborted
>>>
>>> The bug is that _Unwind_GetIPInfo doesn't correctly set ip_before_insn.
>>> Instead, it always sets it to zero; it should be set to 1 if this
>>> is a frame created by a signal handler:
>>>
>>>
>>> #define _Unwind_GetIPInfo(context, ip_before_insn) \
>>>   (*ip_before_insn = 0, _Unwind_GetGR (context, 15)&  ~(_Unwind_Word)1)
>>>
>>>
>>> Fixing this on ARM is hard because signal frames aren't specially
>>> marked as they are on systems that use DWARF unwinder data.  I have
>>> a patch that works on systems where the signal restorer is exactly
>>>
>>> mov r7, $SYS_rt_sigreturn
>>> swi 0x0
>>>
>>> It works as a proof of concept, but it's fugly.
>>>
>>> So, suggestions welcome.  Is there a nice way to detect a signal frame?
>>
>> Libunwind also reads the IP to detect signal frames on ARM Linux:
>> http://git.savannah.gnu.org/gitweb/?p=libunwind.git;a=blob;f=src/arm/Gis_signal_frame.c;hb=HEAD
>>
>> I'd also be interested if there are better approaches to detect them. :)
> 
> There aren't better ways - this is pretty much the standard for
> on-stack signal frames :-)
> 
> I thought we used a handler in GLIBC that was properly annotated,
> nowadays, but I might be mistaken.

We don't for ARM, and indeed we can't.  ARM unwind frames don't have
any way of encoding the fact that they're signal frames or AFAICS of
encoding the return address offset.

Andrew.


Lodging Inquiry

2011-08-30 Thread Mike dane
Hello,


My name is Mike Dane from M&G Investment International United states. I want to 
know if there is any availability for 5 guests who needs rooms, apartments and 
meal services if possible. They are coming for visit in your city. If there is 
availability, kindly let me know about the dates and the quotes.


They are looking forward to Arrive on 4th of  October 2011. The ONLY mode Of 
Payment is :Visa , Master or Amex Card.


Write me immediately with an update on the list of all the services you can 
offer and available at that time. Call me anytime.


Mr Mike Dane.




Lodging Inquiry

2011-08-30 Thread Mike dane
Hello,


My name is Mike Dane from M&G Investment International United states. I want to 
know if there is any availability for 5 guests who needs rooms, apartments and 
meal services if possible. They are coming for visit in your city. If there is 
availability, kindly let me know about the dates and the quotes.


They are looking forward to Arrive on 4th of  October 2011. The ONLY mode Of 
Payment is :Visa , Master or Amex Card.


Write me immediately with an update on the list of all the services you can 
offer and available at that time. Call me anytime.


Mr Mike Dane.




Re: ARM Linux EABI: unwinding through a segfault handler

2011-08-30 Thread Joseph S. Myers
On Mon, 29 Aug 2011, Daniel Jacobowitz wrote:

> I thought we used a handler in GLIBC that was properly annotated,
> nowadays, but I might be mistaken.

What we have in GLIBC is 
ports/sysdeps/unix/sysv/linux/arm/eabi/sigrestorer.S.  Note that 
sigaction.c has to check the kernel version to determine which function to 
use because 2.6.18 changed the signal frame layout, not realising that it 
was part of the userspace ABI.

-- 
Joseph S. Myers
jos...@codesourcery.com


Re: question about GCC Quad-Precision Math Library

2011-08-30 Thread FX
Dear Samuel,

(I copy this email to the gcc@gcc.gnu.org list, as this is the home for 
discussions of this library.)

You can't use the libquadmath library with an ANSI-C compiler. You need a 
compiler that supports the __float128 type and operations on it (such as 
multiplications, as you mention).

Regards,
FX



> Francois,
>  
> I have a question about the  GCC Quad-Precision Math Library.
>  
> Can I use this library with a regular ANSI-C compiler?
>  
> I ask this question because I see in the code (power function)
> that you multiply two 128-bit quad floats using the '*', and I
> could not see how this would work.
>  
> -
> __float128 powq (__float128 x, __float128 y)
> {
>   __float128 z, ax, z_h, z_l, p_h, p_l;
>   __float128 y1, t1, t2, r, s, t, u, v, w;
>   __float128 s2, s_h, s_l, t_h, t_l;
>   int32_t i, j, k, yisint, n;
>   uint32_t ix, iy;
>   int32_t hx, hy;
>   ieee854_float128 o, p, q;
> ...
>  return s * z;// line 439
> -
>  
> Regards,
> Samuel Stewart
> Scotch Plains, NJ


gcc-4.4-20110830 is now available

2011-08-30 Thread gccadmin
Snapshot gcc-4.4-20110830 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/4.4-20110830/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 4.4 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch 
revision 178345

You'll find:

 gcc-4.4-20110830.tar.bz2 Complete GCC

  MD5=61cfd745f362f3fa557d3a801e1db12f
  SHA1=3974a8fcdd9203fc78d7ff89d040d8b4f04b2ad0

Diffs from 4.4-20110823 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-4.4
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.