# SHLIB_LINK
# SHLIB_MULTILIB
# SHLIB_MKMAP
+# SHLIB_MKMAP_OPTS
# SHLIB_MAPFILES
# SHLIB_NM_FLAGS
# SHLIB_INSTALL
done
# SHLIB_MKMAP
+# SHLIB_MKMAP_OPTS
# SHLIB_MAPFILES
for ml in $MULTILIBS; do
dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
libgcc_st_objs="$libgcc_st_objs libgcc/${dir}/$o"
done
- if [ "$SHLIB_LINK" -a "$SHLIB_MKMAP" -a -z "$mapfile" ]; then
- mapfile="libgcc.map"
+ if [ "$SHLIB_LINK" -a "$SHLIB_MKMAP" ]; then
+ mapfile="libgcc/${dir}/libgcc.map"
+ tmpmapfile="libgcc/${dir}/tmp-libgcc.map"
echo ""
echo "${mapfile}: $SHLIB_MKMAP $SHLIB_MAPFILES $libgcc_sh_objs"
- echo ' { $(NM_FOR_TARGET)'" $SHLIB_NM_FLAGS $libgcc_sh_objs; echo %%; cat $SHLIB_MAPFILES; } | "'$(AWK)'" -f $SHLIB_MKMAP > "'tmp-$@'
- echo ' mv tmp-$@ $@'
+ echo ' { $(NM_FOR_TARGET)'" $SHLIB_NM_FLAGS $libgcc_sh_objs; echo %%; cat $SHLIB_MAPFILES; } | "'$(AWK)'" -f $SHLIB_MKMAP $SHLIB_MKMAP_OPTS > ${tmpmapfile}"
+ echo ' mv '"$tmpmapfile"' $@'
fi
shlib_deps="$shlib_deps $mapfile"
libgcc_a_objs="$libgcc_objs $libgcc_st_objs"
- if [ "@libgcc_visibility@" = yes ]; then
- libgcc_a_objs=`echo "${libgcc_a_objs} " | sed s~${objext}' ~.oS ~g'`
-
- # .oS objects will have all non-local symbol definitions .hidden
+ if [ "@libgcc_visibility@" = yes -a "$SHLIB_LINK" ]; then
+ libgcc_a_objs=
echo ""
- echo "$libgcc_a_objs: libgcc/${dir}/%.oS: libgcc/${dir}/%${objext}"
- echo " @\$(NM_FOR_TARGET) $SHLIB_NM_FLAGS \$^" \\
- echo " | \$(AWK) 'NF == 3 { printf \".hidden %s\\n\", \$\$3 }'" \\
- echo ' | $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -Wl,-r -nostdinc' \\
- echo ' -nostdlib -o $@ $^ -xassembler -'
+ for o in $libgcc_objs $libgcc_st_objs; do
+ # .oS objects will have all non-local symbol definitions .hidden
+ oS=`echo ${o} | sed s~${objext}'$~.oS~g'`
+ echo "${oS}: stmp-dirs ${o}"
+ echo ' @$(NM_FOR_TARGET) '${SHLIB_NM_FLAGS} ${o}' | $(AWK) '\''NF == 3 { print "\t.hidden", $$3 }'\'' | $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) '${flags}' -r -nostdinc -nostdlib -o $@ '${o}' -xassembler -'
+ libgcc_a_objs="${libgcc_a_objs} ${oS}"
+ done
fi
echo ""