Use obstack_strdup in ada-lang.c

I happened across a spot that was still using obstack_alloc and
strcpy, rather than obstack_strdup.  This patch makes the obvious fix.

gdb/ChangeLog
2020-02-19  Tom Tromey  <tromey@adacore.com>

	* ada-lang.c (cache_symbol): Use obstack_strdup.
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 4a2f813..7825311 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2020-02-19  Tom Tromey  <tromey@adacore.com>
+
+	* ada-lang.c (cache_symbol): Use obstack_strdup.
+
 2020-02-19  Andrew Burgess  <andrew.burgess@embecosm.com>
 
 	* configure: Regenerate.
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index c5b5fdf..316eaf5 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -4710,7 +4710,6 @@
   struct ada_symbol_cache *sym_cache
     = ada_get_symbol_cache (current_program_space);
   int h;
-  char *copy;
   struct cache_entry *e;
 
   /* Symbols for builtin types don't have a block.
@@ -4733,9 +4732,7 @@
   e = XOBNEW (&sym_cache->cache_space, cache_entry);
   e->next = sym_cache->root[h];
   sym_cache->root[h] = e;
-  e->name = copy
-    = (char *) obstack_alloc (&sym_cache->cache_space, strlen (name) + 1);
-  strcpy (copy, name);
+  e->name = obstack_strdup (&sym_cache->cache_space, name);
   e->sym = sym;
   e->domain = domain;
   e->block = block;