मेरे पास एक स्थिर लाइब्रेरी है जिसमें कुछ जेएनआईसीएलएल फ़ंक्शंस हैं, यानी उन्हें जेवीएम से कॉल करने की उम्मीद है और कभी भी साझा लाइब्रेरी द्वारा संदर्भित साझा लाइब्रेरी द्वारा संदर्भित नहीं किया जाता है।मैं कुछ कार्यों को छीनने से कैसे रोकूं?
हालांकि, ऐसा लगता है कि फ़ंक्शन स्ट्रिपिंग जेएनआईसीएएल फ़ंक्शन को खत्म कर रहा है (यह arm-eabi-objdump -t में दिखाई नहीं दे रहा है)। मैं एक असंभव स्थिति के साथ एक डमी फ़ंक्शन जोड़कर इसके आसपास काम कर रहा हूं जो जेएनआईसीएलएल फ़ंक्शन को कॉल करता है, लेकिन यह गंदा है। मुझे पता है कि कुछ मॉड्यूल को उनके अप्रयुक्त डेटा को छीनने से रोकने के लिए एक लिंक विकल्प है, लेकिन यह क्या है? और मैं .mk फ़ाइल में उस विकल्प को कैसे निर्दिष्ट करूं? मैंने हाथ-एबी-एलडी में तुरंत कुछ भी स्पष्ट नहीं देखा।
संयोग से, फ़ंक्शन स्ट्रिपिंग साझा लाइब्रेरी में जेएनआईसीओएल फ़ंक्शंस को नहीं हटाती है, लेकिन यह उन साझा लाइब्रेरी से हटा दी जाएगी जो साझा लाइब्रेरी लिंक कर रही हैं। इसके लिए क्या कारण है?
यह अभी आया - http://stackoverflow.com/questions/3549432/preventing-functions-from-being-stripped-from-a-static-library-when-linked-into-a/3559733#3559733 – fadden
और यह निश्चित रूप से मेरा व्यक्तिगत उत्तर लड़का है :) इसे एक प्रश्न के रूप में पोस्ट करना चाहते हैं तो मैं इसे स्वीकार कर सकता हूं? (ठीक है, वह, या मैं अपना खुद का प्रश्न डुप्ली के रूप में बंद कर सकता हूं) – EboMike