Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upcmd/link: generate .so from Go code #256
Comments
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
gopherbot
commented
Aug 20, 2010
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
gopherbot
commented
Aug 1, 2011
|
Comment 4 by geek@duzy.info: expecting SO |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
will issue #4069 help with this? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
minux
Sep 22, 2012
Member
Yes, except that issue #4069 doesn't mention to generate PIC object files which is preferable (but not essential) for shared objects. If issue #4069 is solved, at least we can generate non-PIC .so.
Yes, except that issue #4069 doesn't mention to generate PIC object files which is preferable (but not essential) for shared objects. If issue #4069 is solved, at least we can generate non-PIC .so. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
alberts
Feb 2, 2013
Contributor
There's been some progress recently: http://code.google.com/p/go/source/detail?r=885321ad387328c16c6f69fb04b12ac69b69b691 http://code.google.com/p/go/source/detail?r=c9e8491bbfcee7a9c05934f8be0718bccbf29aec http://code.google.com/p/go/source/detail?r=98034d036d03213807879975629172945169c7c8 http://code.google.com/p/go/source/detail?r=1eadf11dd1b7b19d4857681363553c2cfd2ad47d
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
gopherbot
commented
Feb 24, 2013
|
Comment 11 by geek@duzy.info: -shared is not available in 6l, 8l, 5l etc |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
gopherbot
commented
Feb 24, 2013
|
Comment 12 by geek@duzy.info: -shared is now available in 6l, 8l, 5l etc |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
gopherbot
Dec 2, 2013
Comment 15 by rasmus@mindplay.dk:
The changes you are working on - will they provide .so only or .dll on Windows too? I am fast falling in love with Go, but realized too late that although it is technically a "system" programming language, things like shell-extensions and plug-ins are still out of reach...
gopherbot
commented
Dec 2, 2013
|
Comment 15 by rasmus@mindplay.dk: The changes you are working on - will they provide .so only or .dll on Windows too? I am fast falling in love with Go, but realized too late that although it is technically a "system" programming language, things like shell-extensions and plug-ins are still out of reach... |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
sbinet
Dec 4, 2013
Member
following https://code.google.com/p/go-wiki/wiki/HandlingIssues here is a quick rationale: - allow some form of dynamic code loading - ability to, say, implement a CPython module in Go (or a ruby one, or...)
following https://code.google.com/p/go-wiki/wiki/HandlingIssues here is a quick rationale: - allow some form of dynamic code loading - ability to, say, implement a CPython module in Go (or a ruby one, or...) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
gopherbot
Dec 4, 2013
Comment 20 by peter@scraperwiki.com:
I would also like to be able to implement an NSS module using go, which is not possible without this functionality.
gopherbot
commented
Dec 4, 2013
|
Comment 20 by peter@scraperwiki.com: I would also like to be able to implement an NSS module using go, which is not possible without this functionality. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
gopherbot
commented
Jan 16, 2014
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
gopherbot
Jan 16, 2014
Comment 22 by rasmus@mindplay.dk:
Writing a VST plugin in this language would be so bad ass, since Go provides performance suitable for real-time DSP.
gopherbot
commented
Jan 16, 2014
|
Comment 22 by rasmus@mindplay.dk: Writing a VST plugin in this language would be so bad ass, since Go provides performance suitable for real-time DSP. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
gopherbot
commented
Apr 9, 2014
CL https://golang.org/cl/9738047 references this issue. |
gopherbot
added
longterm
labels
Apr 9, 2014
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
rsc
added this to the Unplanned milestone
Apr 10, 2015
rsc
removed
priority-later
labels
Apr 10, 2015
rsc
changed the title from
cmd/ld: generate .so from Go code
to
cmd/link: generate .so from Go code
Jun 8, 2015
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ianlancetaylor
Jun 16, 2015
Contributor
This issue is a little vague. It now works in some ways on some systems on tip, using -buildmode=shared, -buildmode=c-shared, and -linkshared.
Let's move more specific uses on specific systems to separate issues.
|
This issue is a little vague. It now works in some ways on some systems on tip, using -buildmode=shared, -buildmode=c-shared, and -linkshared. Let's move more specific uses on specific systems to separate issues. |
ianlancetaylor
closed this
Jun 16, 2015
mikioh
modified the milestones:
Go1.5,
Unplanned
Jun 17, 2015
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
d3x0r
Aug 17, 2015
Reflection also needs to be considered when loading a library; I may not know what symbols are available; but I know what interfaces I support, so being able to scan a dynamically loaded extension for its types and picking those with interfaces of interest is useful.
I started today thinking about writing plugins for an existing shell I have. This would have been first 'can Go link shared libraries?' But on further consideration, if it did use shared libraries how would I use them?
c# doesn't really behave like dlopen/dlsym/et al It instead gives back lists of types that can be queries for support. An alternative available on C# is Attributes; but go has no idea about attributes so it would definitly have to be done with reflection
d3x0r
commented
Aug 17, 2015
|
Reflection also needs to be considered when loading a library; I may not know what symbols are available; but I know what interfaces I support, so being able to scan a dynamically loaded extension for its types and picking those with interfaces of interest is useful. I started today thinking about writing plugins for an existing shell I have. This would have been first 'can Go link shared libraries?' But on further consideration, if it did use shared libraries how would I use them? |
gopherbot commentedNov 18, 2009
by JeanLou.Dupont: