[pushed] Darwin: Make metadata symbol lables linker-visible for GNU objc.

Message ID 20231026151324.60267-1-iain@sandoe.co.uk
State Accepted
Headers
Series [pushed] Darwin: Make metadata symbol lables linker-visible for GNU objc. |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Iain Sandoe Oct. 26, 2023, 3:13 p.m. UTC
  Tested on x86_64-darwin, x86_64-linux-gnu, pushed to trunk, thanks
Iain

--- 8< ---

Now we have shifted to using the same relocation mechanism as clang for
objective-c typeinfo the static linker needs to have a linker-visible
symbol for metadata names (this is only needed for GNU objective C, for
NeXT the names are in separate sections).

gcc/ChangeLog:

	* config/darwin.h
	(darwin_label_is_anonymous_local_objc_name): Make metadata names
	linker-visibile for GNU objective C.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
---
 gcc/config/darwin.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Patch

diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index b43c8ce97a8..5db64a1ad68 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -868,7 +868,7 @@  int darwin_label_is_anonymous_local_objc_name (const char *name);
        else if (xname[0] == '+' || xname[0] == '-')			     \
          fprintf (FILE, "\"%s\"", xname);				     \
        else if (darwin_label_is_anonymous_local_objc_name (xname))	     \
-         fprintf (FILE, "L%s", xname);					     \
+	fprintf (FILE, "%c%s", flag_next_runtime ? 'L' : 'l', xname);	     \
        else if (xname[0] != '"' && name_needs_quotes (xname))		     \
 	 asm_fprintf (FILE, "\"%U%s\"", xname);				     \
        else								     \