[gcc r14-4945] Darwin: Make metadata symbol lables linker-visible for GNU objc.

Iain D Sandoe iains@gcc.gnu.org
Thu Oct 26 15:00:13 GMT 2023


https://gcc.gnu.org/g:2ae00adb326ed050bd67a67656b20a2cfe789626

commit r14-4945-g2ae00adb326ed050bd67a67656b20a2cfe789626
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Sat Sep 30 17:15:16 2023 +0100

    Darwin: Make metadata symbol lables linker-visible for GNU objc.
    
    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>

Diff:
---
 gcc/config/darwin.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index b43c8ce97a8c..5db64a1ad684 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								     \


More information about the Gcc-cvs mailing list