से __isoc99_sscanf साथ @@ एक नया libc.so GLIBC_2.7 प्रतीक मैं एक आवेदन पत्र है, जो एक त्रुटि करता है जब मैं इसे चलाने के लिए कोशिश बनाने केवल प्रतीक यह glibc 2.7 से की जरूरत हैजीसीसी/ld glibc.2.6
[email protected]@GLIBC_2.7
मैं उर्फ __sscanf के रूप में इस प्रतीक() के साथ एक छोटे एकल समारोह "पुस्तकालय" लिखना चाहते है
मैं कैसे जीसीसी/ld के साथ ऐसा कर सकते हैं?
मेरे संस्करण
int [email protected]@GLIBC_2.7(const char *, const char *, ...) __attribute__((alias("__sscanf")));
दूसरा मेरी संस्करण क्योंकि "@@" प्रतीकों स्वीकार नहीं किया है
#include <stdarg.h>
int __isoc99_sscanf1(const char *a, const char *b, va_list args)
{
int i;
va_list ap;
va_copy(ap,args);
i=sscanf(a,b,ap);
va_end(ap);
return i;
}
// __asm__(".symver __isoc99_sscanf,[email protected]@GLIBC_2.7");
__asm__(".symver __isoc99_sscanf1,[email protected]@GLIBC_2.7");
है लेकिन यह "के साथ संस्करण नोड @@ GLIBC_2.7 __isoc99_sscanf प्रतीक के लिए नहीं मिला समाप्त होता है "लिंकर से त्रुटि।
एप्लिकेशन एक बाइनरी है, इसलिए इसमें पहले से ही __isoc99_scanf है – osgx