Ensure proc-service symbols have default visibility (PR build/24805)
authorPedro Alves <palves@redhat.com>
Thu, 16 Jan 2020 18:35:30 +0000 (18:35 +0000)
committerPedro Alves <palves@redhat.com>
Thu, 16 Jan 2020 19:14:14 +0000 (19:14 +0000)
Compiling GDB with '-fvisibility=hidden' removes the symbols that
should be exported.

This patch explicitly marks them as visible.

gdb/ChangeLog:
2020-01-16  Pedro Alves  <palves@redhat.com>
            Norbert Lange  <nolange79@gmail.com>

PR build/24805
* gdbsupport/gdb_proc_service.h (PS_EXPORT): New.
(ps_get_thread_area, ps_getpid, ps_lcontinue, ps_lgetfpregs)
(ps_lgetregs, ps_lsetfpregs, ps_lsetregs, ps_lstop, ps_pcontinue)
(ps_pdread, ps_pdwrite, ps_pglobal_lookup, ps_pstop, ps_ptread)
(ps_ptwrite, ps_lgetxregs, ps_lgetxregsize, ps_lsetxregs)
(ps_plog): Redeclare exported functions with default visibility.

gdb/ChangeLog
gdbsupport/gdb_proc_service.h

index 5513bea8182f18d33e0bac03ebdb8821416b968f..fe8972e47f0f33af50e046967a6df62ada76f953 100644 (file)
@@ -1,3 +1,14 @@
+2020-01-16  Pedro Alves  <palves@redhat.com>
+            Norbert Lange  <nolange79@gmail.com>
+
+       PR build/24805
+       * gdbsupport/gdb_proc_service.h (PS_EXPORT): New.
+       (ps_get_thread_area, ps_getpid, ps_lcontinue, ps_lgetfpregs)
+       (ps_lgetregs, ps_lsetfpregs, ps_lsetregs, ps_lstop, ps_pcontinue)
+       (ps_pdread, ps_pdwrite, ps_pglobal_lookup, ps_pstop, ps_ptread)
+       (ps_ptwrite, ps_lgetxregs, ps_lgetxregsize, ps_lsetxregs)
+       (ps_plog): Redeclare exported functions with default visibility.
+
 2020-01-16  Nitika Achra  <Nitika.Achra@amd.com>
 
        * dwarf2loc.c (decode_debug_loclists_addresses): Handle
index 3ce2ee80fa901ffe44ad6fe7d9db963c0287b926..9872ab2bca43e730b4970527481d877f286a5266 100644 (file)
@@ -170,4 +170,33 @@ EXTERN_C_POP
 
 #endif /* HAVE_PROC_SERVICE_H */
 
+/* Make sure we export the needed symbols, in case GDB is built with
+   -fvisibility=hidden.  */
+
+#define PS_EXPORT(SYM)                                         \
+  __attribute__((visibility ("default"))) typeof (SYM) SYM
+
+PS_EXPORT (ps_get_thread_area);
+PS_EXPORT (ps_getpid);
+PS_EXPORT (ps_lcontinue);
+PS_EXPORT (ps_lgetfpregs);
+PS_EXPORT (ps_lgetregs);
+PS_EXPORT (ps_lsetfpregs);
+PS_EXPORT (ps_lsetregs);
+PS_EXPORT (ps_lstop);
+PS_EXPORT (ps_pcontinue);
+PS_EXPORT (ps_pdread);
+PS_EXPORT (ps_pdwrite);
+PS_EXPORT (ps_pglobal_lookup);
+PS_EXPORT (ps_pstop);
+PS_EXPORT (ps_ptread);
+PS_EXPORT (ps_ptwrite);
+
+#ifdef __sun__
+PS_EXPORT (ps_lgetxregs);
+PS_EXPORT (ps_lgetxregsize);
+PS_EXPORT (ps_lsetxregs);
+PS_EXPORT (ps_plog);
+#endif
+
 #endif /* COMMON_GDB_PROC_SERVICE_H */