LEFT | RIGHT |
1 // Copyright 2010 The Go Authors. All rights reserved. | 1 // Copyright 2010 The Go Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style | 2 // Use of this source code is governed by a BSD-style |
3 // license that can be found in the LICENSE file. | 3 // license that can be found in the LICENSE file. |
4 | 4 |
5 // Supply environ, __progname and __guard_local, because | 5 // Supply environ, __progname and __guard_local, because |
6 // we don't link against the standard OpenBSD crt0.o and | 6 // we don't link against the standard OpenBSD crt0.o and |
7 // the libc dynamic library needs them. | 7 // the libc dynamic library needs them. |
8 | 8 |
9 char *environ[1]; | 9 char *environ[1]; |
10 char *__progname; | 10 char *__progname; |
11 long __guard_local; | 11 long __guard_local; |
12 | 12 |
13 #pragma dynexport environ environ | 13 #pragma dynexport environ environ |
14 #pragma dynexport __progname __progname | 14 #pragma dynexport __progname __progname |
15 | 15 |
16 // This is normally marked as hidden and placed in the | 16 // This is normally marked as hidden and placed in the |
17 // .openbsd.randomdata section. | 17 // .openbsd.randomdata section. |
18 #pragma dynexport __guard_local __guard_local | 18 #pragma dynexport __guard_local __guard_local |
| 19 |
| 20 // We override pthread_create to support PT_TLS. |
| 21 #pragma dynexport pthread_create pthread_create |
LEFT | RIGHT |