~ubuntu-branches/ubuntu/wily/sflphone/wily

« back to all changes in this revision

Viewing changes to daemon/libs/pjproject-2.1.0/pjlib/src/pj/compat/setjmp_i386.S

  • Committer: Package Import Robot
  • Author(s): Francois Marier, Francois Marier, Mark Purcell
  • Date: 2014-10-18 15:08:50 UTC
  • mfrom: (1.1.12)
  • mto: This revision was merged to the branch mainline in revision 29.
  • Revision ID: package-import@ubuntu.com-20141018150850-2exfk34ckb15pcwi
Tags: 1.4.1-0.1
[ Francois Marier ]
* Non-maintainer upload
* New upstream release (closes: #759576, #741130)
  - debian/rules +PJPROJECT_VERSION := 2.2.1
  - add upstream patch to fix broken TLS support
  - add patch to fix pjproject regression

[ Mark Purcell ]
* Build-Depends:
  - sflphone-daemon + libavformat-dev, libavcodec-dev, libswscale-dev,
  libavdevice-dev, libavutil-dev
  - sflphone-gnome + libclutter-gtk-1.0-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* setjmp for i386, ELF version.
2
 
   Copyright (C) 1995, 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
3
 
   This file is part of the GNU C Library.
4
 
 
5
 
   The GNU C Library is free software; you can redistribute it and/or
6
 
   modify it under the terms of the GNU Lesser General Public
7
 
   License as published by the Free Software Foundation; either
8
 
   version 2.1 of the License, or (at your option) any later version.
9
 
 
10
 
   The GNU C Library is distributed in the hope that it will be useful,
11
 
   but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13
 
   Lesser General Public License for more details.
14
 
 
15
 
   You should have received a copy of the GNU Lesser General Public
16
 
   License along with the GNU C Library; if not, write to the Free
17
 
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18
 
   02111-1307 USA.  */
19
 
 
20
 
#define _ASM
21
 
#define _SETJMP_H
22
 
#define PJ_LINUX_KERNEL     1
23
 
#include <pj/compat/setjmp.h>
24
 
 
25
 
 
26
 
.global __sigsetjmp
27
 
.type   __sigsetjmp,%function
28
 
.align 4
29
 
 
30
 
__sigsetjmp:
31
 
        movl 4   (%esp), %eax
32
 
        /* Save registers.  */
33
 
        movl %ebx, (0 *4)(%eax)
34
 
        movl %esi, (1 *4)(%eax)
35
 
        movl %edi, (2 *4)(%eax)
36
 
        /* Save SP as it will be after we return.  */
37
 
        leal 4(%esp), %ecx       
38
 
        movl %ecx, (4 *4)(%eax)
39
 
        /* Save PC we are returning to now.  */
40
 
        movl 0(%esp), %ecx       
41
 
        movl %ecx, (5 *4)(%eax)
42
 
        /* Save caller's frame pointer.  */
43
 
        movl %ebp, (3 *4)(%eax)  
44
 
 
45
 
        /* Make a tail call to __sigjmp_save; it takes the same args.  */
46
 
#ifdef  __PIC__
47
 
        /* We cannot use the PLT, because it requires that %ebx be set, but
48
 
           we can't save and restore our caller's value.  Instead, we do an
49
 
           indirect jump through the GOT, using for the temporary register
50
 
           %ecx, which is call-clobbered.  */
51
 
        call .Lhere
52
 
.Lhere:
53
 
        popl %ecx
54
 
        addl $_GLOBAL_OFFSET_TABLE_+[.- .Lhere  ], %ecx
55
 
        movl    __sigjmp_save    @GOT  (%ecx), %ecx
56
 
        jmp *%ecx
57
 
#else
58
 
        jmp   __sigjmp_save
59
 
#endif
60
 
.size __sigsetjmp,.-__sigsetjmp
61