~ubuntu-branches/debian/jessie/gdb/jessie

« back to all changes in this revision

Viewing changes to gdb/testsuite/gdb.base/unload.c

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Jacobowitz
  • Date: 2010-03-20 01:21:29 UTC
  • mfrom: (1.3.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20100320012129-t7h25y8zgr8c2369
Tags: 7.1-1
* New upstream release, including:
  - PIE support (Closes: #346409).
  - C++ improvements, including static_cast<> et al, namespace imports,
    and bug fixes in printing virtual base classes.
  - Multi-program debugging.  One GDB can now debug multiple programs
    at the same time.
  - Python scripting improvements, including gdb.parse_and_eval.
  - Updated MIPS Linux signal frame layout (Closes: #570875).
  - No internal error stepping over _dl_debug_state (Closes: #569551).
* Update to Standards-Version: 3.8.4 (no changes required).
* Include more relevant (and smaller) docs in the gdbserver package
  (Closes: #571132).
* Do not duplicate documentation in gdb64, gdb-source, and libgdb-dev.
* Fix crash when switching into TUI mode (Closes: #568489).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* This testcase is part of GDB, the GNU debugger.
2
2
 
3
 
   Copyright 2004, 2007, 2008, 2009 Free Software Foundation, Inc.
 
3
   Copyright 2004, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
4
4
 
5
5
   This program is free software; you can redistribute it and/or modify
6
6
   it under the terms of the GNU General Public License as published by
27
27
# define dlsym(handle, func) GetProcAddress (handle, func)
28
28
#endif
29
29
#define dlclose(handle) FreeLibrary (handle)
30
 
#define dlerror() "error %d occurred", GetLastError ()
31
30
#else
32
31
#include <dlfcn.h>
33
32
#endif
45
44
  
46
45
  if (!handle)
47
46
    {
48
 
      fprintf (stderr, dlerror ());
49
 
      exit (1);
50
 
    }
51
 
 
52
 
  unloadshr = (int (*)(int))dlsym (handle, "shrfunc1");
53
 
 
54
 
  if (!unloadshr)
55
 
    {
56
 
      fprintf (stderr, dlerror ());
57
 
      exit (1);
58
 
    }
59
 
 
60
 
  y = (*unloadshr)(3);
61
 
 
62
 
  printf ("y is %d\n", y);
63
 
 
64
 
  dlclose (handle);
 
47
      fprintf (stderr, "%s\n", dlerror ());
 
48
      exit (1);
 
49
    }
 
50
 
 
51
  unloadshr = (int (*) (int)) dlsym (handle, "shrfunc1");
 
52
 
 
53
  if (!unloadshr)
 
54
    {
 
55
#ifdef __WIN32__
 
56
      fprintf (stderr, "error %d occurred\n", GetLastError ());
 
57
#else
 
58
      fprintf (stderr, "%s\n", dlerror ());
 
59
#endif
 
60
      exit (1);
 
61
    }
 
62
 
 
63
  y = (*unloadshr) (1);
 
64
 
 
65
  dlclose (handle);
 
66
  handle = NULL;        /* y-set-1 */
 
67
 
 
68
  /* The second library should share the same memory address.  */
 
69
 
 
70
  handle = dlopen (SHLIB_NAME2, RTLD_LAZY);
 
71
  
 
72
  if (!handle)
 
73
    {
 
74
      fprintf (stderr, "%s\n", dlerror ());
 
75
      exit (1);
 
76
    }
 
77
 
 
78
  unloadshr = (int (*)(int)) dlsym (handle, "shrfunc2");
 
79
 
 
80
  if (!unloadshr)
 
81
    {
 
82
#ifdef __WIN32__
 
83
      fprintf (stderr, "error %d occurred\n", GetLastError ());
 
84
#else
 
85
      fprintf (stderr, "%s\n", dlerror ());
 
86
#endif
 
87
      exit (1);
 
88
    }
 
89
 
 
90
  y = (*unloadshr) (2);
 
91
 
 
92
  dlclose (handle);
 
93
  handle = NULL;        /* y-set-2 */
65
94
 
66
95
  return 0;
67
96
}