=================================================================== RCS file: /cvs/src/src/bfd/elflink.c,v retrieving revision 1.364 retrieving revision 1.365 diff -u -r1.364 -r1.365 --- src/bfd/elflink.c 2010/01/08 01:43:22 1.364 +++ src/bfd/elflink.c 2010/01/08 03:03:16 1.365 @@ -8492,10 +8492,14 @@ _bfd_elf_swap_versym_in (input, ever, &iver); - if ((iver.vs_vers & VERSYM_HIDDEN) == 0) + if ((iver.vs_vers & VERSYM_HIDDEN) == 0 + && !(h->def_regular + && h->forced_local)) { /* If we have a non-hidden versioned sym, then it should - have provided a definition for the undefined sym. */ + have provided a definition for the undefined sym unless + it is defined in a non-shared object and forced local. + */ abort (); }