* mipsread.c (parse_symbol, parse_procedure): Re-do the way that
[external/binutils.git] / gdb / news-xdep.c
1 /* Low level interface to ptrace, for GDB when running under Unix.
2    Copyright (C) 1986, 1987, 1989 Free Software Foundation, Inc.
3
4 This file is part of GDB.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
19
20 #ifdef __GNUC__
21 /* Bad implement execle(3). It's depend for "/bin/cc".
22
23    main()
24    {
25      printf("execle:\n");
26      execle(FILE, ARGS, envp);
27      exit(1);
28    }
29
30    GCC:
31    link a6,#0
32    pea LC5      ; call printf
33    jbsr _printf
34    ;            ; (not popd stack)
35    pea _envp    ; call execle
36    clrl sp@-
37    pea LC4
38    pea LC4
39    pea LC4
40    pea LC3
41    pea LC6
42    jbsr _execle
43    addw #32,sp  ; delayed pop !!
44
45    /bin/cc:
46    link.l       fp,#L23
47    movem.l      #L24,(sp)
48    pea  L26             ; call printf
49    jbsr _printf
50    addq.l       #4,sp   ; <--- popd stack !!
51    pea  _envp           ; call execle
52    clr.l        -(sp)
53    pea  L32
54    
55    */
56
57 execle(name, args)
58      char *name, *args;
59 {
60   register char **env = &args;
61   while (*env++)
62     ;
63   execve(name, (char **)&args, (char **)*env);
64 }
65 #endif