This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch] Remove __shtab from libgcc
- To: gcc-patches at gcc dot gnu dot org
- Subject: [patch] Remove __shtab from libgcc
- From: cgd at sibyte dot com (Chris G. Demetriou)
- Date: 31 Oct 2000 16:17:20 -0800
The patch below removes __shtab from libgcc2.
It follows discussion of data exported from libgcc, and Jim Wilson's
conclusion in http://gcc.gnu.org/ml/gcc-patches/2000-10/msg01069.html
that "__shtab should definitely be dropped."
Trusting his opinion, I've made the (almost trivial) patch below
against the current sources as of earlier today.
To test it, I applied that patch to sources (slightly hacked from)
current as of 2000-10-10 (the Makefile.in patch needed a bit of
tweaking to back-port), and built that targetting mips-elf (from
sparc-solaris). I then hand-inspected libgcc.a to verify that __shtab
was gone. It was. 8-)
patch applies in egcs/gcc, changelog below.
chris
========================================================================
2000-10-31 Chris Demetriou <cgd@sibyte.com>
* libgcc2.c (__shtab): Remove __shtab variable.
* libgcc-std.ver (GCC_3.0): Remove __shtab from symbol list.
* Makefile.in (LIB2FUNCS): Remove _shtab from list of library
members.
Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/egcs/gcc/Makefile.in,v
retrieving revision 1.532
diff -c -r1.532 Makefile.in
*** Makefile.in 2000/10/28 17:59:04 1.532
--- Makefile.in 2000/11/01 00:09:17
***************
*** 780,786 ****
_fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi \
_fixtfdi _fixunstfdi _floatditf \
__gcc_bcmp _varargs __dummy _eprintf \
! _bb _shtab _clear_cache _trampoline __main _exit \
_absvsi2 _absvdi2 _addvsi3 _addvdi3 _subvsi3 _subvdi3 \
_mulvsi3 _mulvdi3 _negvsi2 _negvdi2 \
_ctors
--- 780,786 ----
_fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi \
_fixtfdi _fixunstfdi _floatditf \
__gcc_bcmp _varargs __dummy _eprintf \
! _bb _clear_cache _trampoline __main _exit \
_absvsi2 _absvdi2 _addvsi3 _addvdi3 _subvsi3 _subvdi3 \
_mulvsi3 _mulvdi3 _negvsi2 _negvdi2 \
_ctors
Index: libgcc-std.ver
===================================================================
RCS file: /cvs/gcc/egcs/gcc/libgcc-std.ver,v
retrieving revision 1.2
diff -c -r1.2 libgcc-std.ver
*** libgcc-std.ver 2000/10/22 21:20:28 1.2
--- libgcc-std.ver 2000/11/01 00:09:17
***************
*** 110,116 ****
__empty
__eprintf
__gcc_bcmp
- __shtab
# EH symbols
__default_terminate
--- 110,115 ----
Index: libgcc2.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/libgcc2.c,v
retrieving revision 1.105
diff -c -r1.105 libgcc2.c
*** libgcc2.c 2000/10/20 23:32:09 1.105
--- libgcc2.c 2000/11/01 00:09:19
***************
*** 2571,2589 ****
#endif /* not BLOCK_PROFILER_CODE */
#endif /* L_bb */
- #ifdef L_shtab
- unsigned int __shtab[] = {
- 0x00000001, 0x00000002, 0x00000004, 0x00000008,
- 0x00000010, 0x00000020, 0x00000040, 0x00000080,
- 0x00000100, 0x00000200, 0x00000400, 0x00000800,
- 0x00001000, 0x00002000, 0x00004000, 0x00008000,
- 0x00010000, 0x00020000, 0x00040000, 0x00080000,
- 0x00100000, 0x00200000, 0x00400000, 0x00800000,
- 0x01000000, 0x02000000, 0x04000000, 0x08000000,
- 0x10000000, 0x20000000, 0x40000000, 0x80000000
- };
- #endif
-
#ifdef L_clear_cache
/* Clear part of an instruction cache. */
--- 2571,2576 ----