Rainer Orth
35b05a02de
build: Derive object names in make_sunver.pl
...
The recent move of libgfortran object files to subdirs and the resulting
breakage of libgfortran.so symbol exports demonstrated how fragile
deriving object and archive names from their libtool counterparts in the
Makefiles is. Therefore, this patch moves that step into
make_sunver.pl, considerably simplifying the Makefile rules to create
the version scripts.
Bootstrapped without regressions on i386-pc-solaris2.11 and
sparc-sun-solaris2.11, verifying that the version scripts are identical
except for the input filenames.
2024-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
contrib:
* make_sunver.pl: Use File::Basename;
Skip -lLIB args.
Convert libtool object/archive names to underlying
objects/archives.
libatomic:
* Makefile.am [LIBAT_BUILD_VERSIONED_SHLIB_SUN]
(libatomic.map-sun): Pass $(libatomic_la_OBJECTS),
$(libatomic_la_LIBADD) to make_sunver.pl unmodified.
* Makefile.in: Regenerate.
libffi:
* Makefile.am [LIBFFI_BUILD_VERSIONED_SHLIB_SUN] (libffi.map-sun):
Pass $(libffi_la_OBJECTS), $(libffi_la_LIBADD) to make_sunver.pl
unmodified.
* Makefile.in: Regenerate.
libgfortran:
* Makefile.am [LIBGFOR_USE_SYMVER_SUN} (gfortran.ver-sun): Pass
$(libgfortran_la_OBJECTS), $(libgfortran_la_LIBADD) to
make_sunver.pl unmodified.
* Makefile.in: Regenerate.
libgomp:
* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]
(libgomp.ver-sun): Pass $(libgomp_la_OBJECTS),
$(libgomp_la_LIBADD) to make_sunver.pl unmodified.
* Makefile.in: Regenerate.
libitm:
* Makefile.am [LIBITM_BUILD_VERSIONED_SHLIB_SUN] (libitm.map-sun):
Pass $(libitm_la_OBJECTS), $(libitm_la_LIBADD) to make_sunver.pl
unmodified.
* Makefile.in: Regenerate.
libquadmath:
* Makefile.am [LIBQUAD_USE_SYMVER_SUN] (quadmath.map-sun): Pass
$(libquadmath_la_OBJECTS), $(libquadmath_la_LIBADD) to
make_sunver.pl unmodified.
* Makefile.in: Regenerate.
libssp:
* Makefile.am [LIBSSP_USE_SYMVER_SUN] (ssp.map-sun): Pass
$(libssp_la_OBJECTS), $(libssp_la_LIBADD) to make_sunver.pl
unmodified.
* Makefile.in: Regenerate.
libstdc++-v3:
* src/Makefile.am [ENABLE_SYMVERS_SUN]
(libstdc++-symbols.ver-sun): Pass $(libstdc___la_OBJECTS),
$(libstdc___la_LIBADD) to make_sunver.pl unmodified.
* src/Makefile.in: Regenerate.
2024-05-07 13:14:05 +02:00
Rainer Orth
ae2c1d0a9d
contrib: Fix make_sunver.pl warning
...
Petr informed me that perl 5.32 bundled with Solaris 11.4 warns about
make_sunver.pl:
Unescaped left brace in regex is passed through in regex; marked by <-- HERE in m/^([ \t]*){ <-- HERE $/ at /vol/gcc/src/hg/master/local/libgomp/../contrib/make_sunver.pl line 216.
I didn't notice since I'm using a common installation of perl 5.12
across Solaris versions that doesn't show that warning.
His patch fixes the issue. Tested on Solaris 11.3 (perl 5.12) and 11.4
(perl 5.32).
2023-01-20 Petr Sumbera <petr.sumbera@oracle.com>
contrib:
* make_sunver.pl: Escape brace.
2023-02-17 13:33:25 +01:00
Rainer Orth
d809887a66
Make make_sunver.pl robust against non-C locales
...
* make_sunver.pl: Enforce C locale.
From-SVN: r196309
2013-02-27 09:15:35 +00:00
Eric Botcazou
0e9f719a98
* make_sunver.pl: Add missing newline at the end of extern "C++" block.
...
From-SVN: r190932
2012-09-04 13:56:06 +00:00
Rainer Orth
cc2de92d5a
Fix Solaris symbol versioning (PR libstdc++/52188)
...
contrib:
PR libstdc++/52188
* make_sunver.pl: Remove #ifdef handling.
libgomp:
PR libstdc++/52188
* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
Remove ENABLE_SYMVERS_SOL2.
* configure: Regenerate.
* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
(PREPROCESS): New variable.
(libgomp.ver): New target.
[LIBGOMP_BUILD_VERSIONED_SHLIB &&
LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
Use libgomp.ver.
[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
* Makefile.in: Regenerate.
libstdc++-v3:
PR libstdc++/52188
* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Remove symvers_renaming.
Remove ENABLE_SYMVERS_SOL2.
* configure: Regenerate.
* src/Makefile.am [ENABLE_SYMVERS] (libstdc++-symbols.ver):
Postprocess mapfile.
[ENABLE_SYMVERS_GNU]: Remove ENABLE_SYMVERS_SOL2 handling.
* src/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver (GLIBCXX_3.4.5) [!__sun__ && !__svr4__]:
Don't export
_ZNSt19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEppEv.
From-SVN: r184598
2012-02-27 13:51:50 +00:00
Rainer Orth
adcd36bc3f
Support sun symbol versioning in libitm
...
libitm:
* acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Handle gold.
(LIBITM_ENABLE_SYMVERS): Handle sun style.
* Makefile.am: Handle sun style versioning.
(libitm_la_LINK): Add $(libitm_la_LDFLAGS).
* configure: Regenerate.
* Makefile.in: Regenerate.
contrib:
* make_sunver.pl: Convert '?' in glob patterns to '.'.
From-SVN: r181588
2011-11-21 17:03:50 +00:00
Rainer Orth
084239f467
re PR bootstrap/48135 (build fails on Solaris2.8 due to Glob.pm not found within /usr/perl5)
...
contrib:
PR bootstrap/48135
* make_sunver.pl: Don't use File::Glob.
gcc:
PR bootstrap/48135
* doc/install.texi (Prerequisites, Perl): Remove Glob.pm
reference. Solaris 8 perl works.
From-SVN: r171223
2011-03-21 12:17:10 +00:00
Rainer Orth
f759884521
make_sunver.pl: Use elfdump -s to extract symbols if possible, readelf -s otherwise.
...
* make_sunver.pl: Use elfdump -s to extract symbols if possible,
readelf -s otherwise.
From-SVN: r167149
2010-11-25 18:16:57 +00:00
Eric Botcazou
79770339d5
make_sunver.pl: Ignore entries without symbol name first.
...
* make_sunver.pl: Ignore entries without symbol name first. Then do
not ignore symbols marked as 'R'.
From-SVN: r166432
2010-11-08 11:17:18 +00:00
Eric Botcazou
5653ef60cb
* make_sunver.pl: Remove extra whitespace in regexp.
...
From-SVN: r161973
2010-07-08 19:15:21 +00:00
Rainer Orth
1e0859a29e
Missed in last commit.
...
From-SVN: r161701
2010-07-02 10:26:12 +00:00