diff options
Diffstat (limited to 'src/cmd/ld/lib.h')
| -rw-r--r-- | src/cmd/ld/lib.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/cmd/ld/lib.h b/src/cmd/ld/lib.h index 25fe45675e..0b7e48c8a2 100644 --- a/src/cmd/ld/lib.h +++ b/src/cmd/ld/lib.h @@ -138,6 +138,7 @@ EXTERN char* outfile; EXTERN int32 nsymbol; EXTERN char* thestring; EXTERN int ndynexp; +EXTERN Sym** dynexp; EXTERN int nldflag; EXTERN char** ldflag; EXTERN int havedynamic; @@ -149,6 +150,21 @@ EXTERN int flag_shared; EXTERN char* tracksym; EXTERN char* interpreter; +enum +{ + LinkAuto = 0, + LinkInternal, + LinkExternal, +}; +EXTERN int linkmode; + +// for dynexport field of Sym +enum +{ + CgoExportDynamic = 1<<0, + CgoExportStatic = 1<<1, +}; + EXTERN Segment segtext; EXTERN Segment segdata; EXTERN Segment segsym; @@ -187,7 +203,7 @@ void adddynrel(Sym*, Reloc*); void adddynrela(Sym*, Sym*, Reloc*); Sym* lookuprel(void); void ldobj1(Biobuf *f, char*, int64 len, char *pn); -void ldobj(Biobuf*, char*, int64, char*, int); +void ldobj(Biobuf*, char*, int64, char*, char*, int); void ldelf(Biobuf*, char*, int64, char*); void ldmacho(Biobuf*, char*, int64, char*); void ldpe(Biobuf*, char*, int64, char*); @@ -242,6 +258,10 @@ void usage(void); void setinterp(char*); Sym* listsort(Sym*, int(*cmp)(Sym*, Sym*), int); int valuecmp(Sym*, Sym*); +void hostobjs(void); +void hostlink(void); +char* estrdup(char*); +void* erealloc(void*, long); int pathchar(void); void* mal(uint32); |
