Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 12. Nov 2018 18:35

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Library erzeugen - Symbolprobleme
BeitragVerfasst: 10. Mai 2009 10:00 
Offline

Registriert: 25. Mär 2008 12:50
Beiträge: 127
Hi,

ich nutze aktuell folgendes Makefile um mir eine Library zu erzeugen (dass keine zusätzlichen Symlinks auf die Library erzeugt werden ist dabei gewollt):
Code:
CCOMPILER=g++ -Wall -Wno-unused -fPIC -g0 -O2 -D_REENTRANT -DENV_LINUX -I .  -I ..

# system libraries. These are needed by ACDK at least
SYSLIBRARIES=
#-lpthread -lm -ldl

# all libs together

LIBS = $(SYSLIBRARIES)
# -Wl,-Bdynamic -L$(ACDKHOME)/bin $(ACDKLIBS)

EXECUTABLE=../ioplugins/libio_network_in.so

# want maybe to debug
LINK=g++ -shared

OBJECTS = libio_network_in.o

default: $(EXECUTABLE)

# builds the executable itself
# don't forget to export LD_LIBRARY_PATH=/artefaktur/acdk/bin before execute the binary
$(EXECUTABLE): $(OBJECTS)
        $(LINK) $(SYSLDFLAGS) $(LDFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)


%.o: %.cpp
        $&#40;CCOMPILER&#41; -c $< -o $@

clean&#58;
        rm $&#40;OBJECTS&#41; $&#40;EXECUTABLE&#41;
Mein Problem dabei: Diese Library exportiert massenhaft symbole, nicht nur die, die gewollt sind (so lustige Dinge wie sprintf). Wenn ich die Symbole mit strip enfterne, sind natürlich alle Weg, inklusive der erwünschten.

Meine Frage deswegen: gibt es einen Weg, explizit zu definieren, welche Symbole die Library tatsächlich exportieren soll, so das alles überflüssige wegbleibt?

Hintergrund: das Gesamtpaket soll auf einem eher schwachbrüstigen Embedded-System laufen - und da muss ich mit jedem Byte geizen.

_________________
http://www.kaufkauf.net - nie wieder Einkäufe vergessen!


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 12. Mai 2009 14:39 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Es werden grundsätzlich *alle* Symbole exportiert, die keine dem entgegenstehende Speicherklasse ("static", "inline" etc.) oder ein entsprechendes Attribut (visibility) besitzen.

http://people.redhat.com/drepper/dsohowto.pdf
http://gcc.gnu.org/onlinedocs/gcc/Code- ... ility-1837
http://gcc.gnu.org/wiki/Visibility

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 2 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de