]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/ld: supply -s to gcc if -s is passed.
authorShenghou Ma <minux.ma@gmail.com>
Tue, 11 Jun 2013 22:56:50 +0000 (06:56 +0800)
committerShenghou Ma <minux.ma@gmail.com>
Tue, 11 Jun 2013 22:56:50 +0000 (06:56 +0800)
Fixes #5463.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/9239045

src/cmd/ld/elf.c
src/cmd/ld/lib.c
src/cmd/ld/lib.h

index 46d7056665255df061f7d787d5058fefaac866f0..e0a522ad7f30f1116e8d9a70ecff89913f706bb5 100644 (file)
@@ -909,6 +909,7 @@ doelf(void)
        addstring(shstrtab, ".gopclntab");
        
        if(linkmode == LinkExternal) {
+               debug_s = debug['s'];
                debug['s'] = 0;
                debug['d'] = 1;
 
index 7084debcc091d36938e6cebe612724c14d8880be..87af5a28ea89be6839ead64dfea60249a0bf51a3 100644 (file)
@@ -666,8 +666,11 @@ hostlink(void)
                argv[argc++] = "-m64";
                break;
        }
-       if(!debug['s'])
+       if(!debug['s'] && !debug_s) {
                argv[argc++] = "-gdwarf-2"; 
+       } else {
+               argv[argc++] = "-s";
+       }
        if(HEADTYPE == Hdarwin)
                argv[argc++] = "-Wl,-no_pie,-pagezero_size,4000000";
        argv[argc++] = "-o";
index e552deb02f49bb8071cb356f4a34b722d1c42065..63775b5ff59976b5ca4cb306b3e5fc1ac9f764e6 100644 (file)
@@ -159,6 +159,7 @@ EXTERN      char*   interpreter;
 EXTERN char*   tmpdir;
 EXTERN char*   extld;
 EXTERN char*   extldflags;
+EXTERN int     debug_s; // backup old value of debug['s']
 
 enum
 {