Use linker -Wl,--wrap=symbol
Linker --wrap option resolves to __wrap_symbol for undefined symbol. During the compilation of host libportable.a, __HOST__ is defined to rename all portable functions to __wrap_symbol, and the real function to __real_symbol. This way libportable.a can be validated at host w/o changes of user's source code. See http://sourceware.org/binutils/docs/ld/Options.html Change-Id: Idcbe53dd642536f3dc2be85a875f95535b9dc0b1
This commit is contained in:
@@ -14,10 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include <portability.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/linux-syscalls.h>
|
||||
|
||||
int socket_portable(int domain, int type, int protocol) {
|
||||
return socket(domain, type, protocol);
|
||||
int WRAP(socket)(int domain, int type, int protocol) {
|
||||
return REAL(socket)(domain, type, protocol);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user