~vorlon/ubuntu/natty/eglibc/multiarch

« back to all changes in this revision

Viewing changes to stdio-common/psiginfo.c

  • Committer: Steve Langasek
  • Date: 2011-02-18 21:18:44 UTC
  • mfrom: (103.1.7 eglibc)
  • Revision ID: steve.langasek@linaro.org-20110218211844-lodmi8b1qhyq3f3x
Tags: 2.13~pre1-0ubuntu1+multiarch.1
merge from natty

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Copyright (C) 2009 Free Software Foundation, Inc.
 
1
/* Copyright (C) 2009, 2010 Free Software Foundation, Inc.
2
2
   This file is part of the GNU C Library.
3
3
 
4
4
   The GNU C Library is free software; you can redistribute it and/or
85
85
 
86
86
  const char *desc;
87
87
  if (pinfo->si_signo >= 0 && pinfo->si_signo < NSIG
88
 
      && (desc = INTUSE(_sys_siglist)[pinfo->si_signo]) != NULL)
 
88
      && ((desc = INTUSE(_sys_siglist)[pinfo->si_signo]) != NULL
 
89
          || (pinfo->si_signo >= SIGRTMIN && pinfo->si_signo < SIGRTMAX)))
89
90
    {
90
 
      fprintf (fp, "%s (", _(desc));
 
91
      if (desc == NULL)
 
92
        {
 
93
          if (pinfo->si_signo - SIGRTMIN < SIGRTMAX - pinfo->si_signo)
 
94
            {
 
95
              if (pinfo->si_signo == SIGRTMIN)
 
96
                fprintf (fp, "SIGRTMIN (");
 
97
              else
 
98
                fprintf (fp, "SIGRTMIN+%d (", pinfo->si_signo - SIGRTMIN);
 
99
            }
 
100
          else
 
101
            {
 
102
              if (pinfo->si_signo == SIGRTMAX)
 
103
                fprintf (fp, "SIGRTMAX (");
 
104
              else
 
105
                fprintf (fp, "SIGRTMAX-%d (", SIGRTMAX - pinfo->si_signo);
 
106
            }
 
107
        }
 
108
      else
 
109
        fprintf (fp, "%s (", _(desc));
91
110
 
92
111
      const char *base = NULL;
93
112
      const uint8_t *offarr = NULL;
165
184
 
166
185
      if (pinfo->si_signo == SIGILL || pinfo->si_signo == SIGFPE
167
186
          || pinfo->si_signo == SIGSEGV || pinfo->si_signo == SIGBUS)
168
 
        fprintf (fp, "[%p])", pinfo->si_addr);
 
187
        fprintf (fp, "[%p])\n", pinfo->si_addr);
169
188
      else if (pinfo->si_signo == SIGCHLD)
170
 
        fprintf (fp, "%ld %d %ld)", (long int) pinfo->si_pid, pinfo->si_status,
 
189
        fprintf (fp, "%ld %d %ld)\n",
 
190
                 (long int) pinfo->si_pid, pinfo->si_status,
171
191
                 (long int) pinfo->si_uid);
172
192
      else if (pinfo->si_signo == SIGPOLL)
173
 
        fprintf (fp, "%ld)", (long int) pinfo->si_band);
 
193
        fprintf (fp, "%ld)\n", (long int) pinfo->si_band);
174
194
      else
175
 
        fprintf (fp, "%ld %ld)",
 
195
        fprintf (fp, "%ld %ld)\n",
176
196
                 (long int) pinfo->si_pid, (long int) pinfo->si_uid);
177
197
    }
178
198
  else