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 c028cd54f5cc61d862c9339eca3687f82c5089f2..ecea520cb9234fb6ef38675da43807cc73d37399 100644 (file)
@@ -1,3 +1,15 @@
+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
index aa5727a9e2c31a5faf85dd993b507e4ae569c91a..ea33b9383914f3eae74ec4c8b7d02080641cb55b 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 352a76b584f02dcb943b071eadcd3a57cd5111af..46fa84b122249e51349f283f01aa1abf6e402e2e 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 74b2d6134c91fac3039f9a218332407ab74f78dd..62868b6d70ece116de1aa8071063a0713c95ed3d 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 a1a3188c159b435e3d719985c83242eb6b2d96cf..bcda5fd84d9fc4f6b8e620cda3074c993750ff51 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 6546f68e5859997f5d8ec32eea7eb66a77ea87f9..add4021696047dd50f0dd0267ea01c00882e9e26 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 0fd05f57b61a5337636112b94280baa4b5bba121..817bf3350c387d6d9fb3bd90fdb0bf362d0e2871 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 04c69f2e5a817030855971b79502e5a0cf4fa1f6..497d04d5c585f7ff991c43c104f4274840951072 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)
 {
 }