Ensure unreferenced static symbols aren't omitted by clang (either marking them __att...
authorDavid Blaikie <dblaikie@gmail.com>
Fri, 11 Apr 2014 06:45:28 +0000 (23:45 -0700)
committerDavid Blaikie <dblaikie@gmail.com>
Fri, 25 Apr 2014 05:33:46 +0000 (22:33 -0700)
gdb/testsuite/
       * gdb.base/catch-syscall.c: Make unreferenced statics non-static to
       ensure clang would not discard them.
       * gdb.base/gdbvars.c: Ditto.
       * gdb.base/memattr.c: Ditto.
       * gdb.base/whatis.c: Ditto.
       * gdb.python/py-prettyprint.c: Ditto.
       * gdb.trace/actions.c: Ditto.
       * gdb.cp/ptype-cv-cp.cc: Mark unused global const int as used to
       ensure clang would not discard it.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/catch-syscall.c
gdb/testsuite/gdb.base/gdbvars.c
gdb/testsuite/gdb.base/memattr.c
gdb/testsuite/gdb.base/whatis.c
gdb/testsuite/gdb.cp/ptype-cv-cp.cc
gdb/testsuite/gdb.python/py-prettyprint.c
gdb/testsuite/gdb.trace/actions.c

index c028cd5..ecea520 100644 (file)
@@ -1,5 +1,17 @@
 2014-04-24  David Blaikie  <dblaikie@gmail.com>
 
+       * gdb.base/catch-syscall.c: Make unreferenced statics non-static to
+       ensure clang would not discard them.
+       * gdb.base/gdbvars.c: Ditto.
+       * gdb.base/memattr.c: Ditto.
+       * gdb.base/whatis.c: Ditto.
+       * gdb.python/py-prettyprint.c: Ditto.
+       * gdb.trace/actions.c: Ditto.
+       * gdb.cp/ptype-cv-cp.cc: Mark unused global const int as used to
+       ensure clang would not discard it.
+
+2014-04-24  David Blaikie  <dblaikie@gmail.com>
+
        * gdb.stabs/gdb11479.c (tag_dummy_enum): introduce a variable to cause
        clang to emit the full definition of type required by the test
        * gdb.stabs/gdb11479.exp (do_test): correct a typo in a test message
index aa5727a..ea33b93 100644 (file)
 
 /* These are the syscalls numbers used by the test.  */
 
-static int close_syscall = SYS_close;
-static int chroot_syscall = SYS_chroot;
+int close_syscall = SYS_close;
+int chroot_syscall = SYS_chroot;
 /* GDB had a bug where it couldn't catch syscall number 0 (PR 16297).
    In most GNU/Linux architectures, syscall number 0 is
    restart_syscall, which can't be called from userspace.  However,
    the "read" syscall is zero on x86_64.  */
-static int read_syscall = SYS_read;
-static int pipe_syscall = SYS_pipe;
-static int write_syscall = SYS_write;
-static int exit_group_syscall = SYS_exit_group;
+int read_syscall = SYS_read;
+int pipe_syscall = SYS_pipe;
+int write_syscall = SYS_write;
+int exit_group_syscall = SYS_exit_group;
 
 int
 main (void)
index 352a76b..46fa84b 100644 (file)
@@ -4,12 +4,12 @@ typedef void *ptr;
 
 ptr p = &p;
 
-static void
+void
 foo_void (void)
 {
 }
 
-static int
+int
 foo_int (void)
 {
   return 0;
index 74b2d61..62868b6 100644 (file)
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #define MEMSIZE 64
-static int mem1[MEMSIZE] = {111, 222, 333, 444, 555};
-static int mem2[MEMSIZE];
-static int mem3[MEMSIZE];
-static int mem4[MEMSIZE];
-static int mem5[MEMSIZE];
+int mem1[MEMSIZE] = {111, 222, 333, 444, 555};
+int mem2[MEMSIZE];
+int mem3[MEMSIZE];
+int mem4[MEMSIZE];
+int mem5[MEMSIZE];
 
 int main()
 {
index a1a3188..bcda5fd 100644 (file)
@@ -88,14 +88,14 @@ double              v_double_array[2];
    a special case kludge in GDB (Unix system include files like to define
    caddr_t), but for a variety of types.  */
 typedef char *char_addr;
-static char_addr a_char_addr;
+char_addr a_char_addr;
 typedef unsigned short *ushort_addr;
-static ushort_addr a_ushort_addr;
+ushort_addr a_ushort_addr;
 typedef signed long *slong_addr;
-static slong_addr a_slong_addr;
+slong_addr a_slong_addr;
 #ifndef NO_LONG_LONG
 typedef signed long long *slong_long_addr;
-static slong_long_addr a_slong_long_addr;
+slong_long_addr a_slong_long_addr;
 #endif
 
 char           *v_char_pointer;
index 6546f68..add4021 100644 (file)
@@ -22,7 +22,7 @@ typedef volatile const_my_int volatile_const_my_int;
 typedef const volatile_my_int const_volatile_my_int;
 
 my_int v_my_int (0);
-const_my_int v_const_my_int (1);
+__attribute__((used)) const_my_int v_const_my_int (1);
 volatile_my_int v_volatile_my_int (2);
 const_volatile_my_int v_const_volatile_my_int (3);
 volatile_const_my_int v_volatile_const_my_int (4);
index 0fd05f5..817bf33 100644 (file)
@@ -230,7 +230,7 @@ struct nullstr
 struct string_repr string_1 = { { "one" } };
 struct string_repr string_2 = { { "two" } };
 
-static int
+int
 eval_func (int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8)
 {
   return p1;
index 04c69f2..497d04d 100644 (file)
@@ -116,7 +116,7 @@ unsigned long   gdb_c_test( unsigned long *parm )
    return ( (unsigned long) 0 );
 }
 
-static void gdb_asm_test (void)
+void gdb_asm_test (void)
 {
 }