Thanks - I will try patching this soon. I would be interested in seeing a failure, applying the patch and seeing a fix.
Would you give me more information about the environment so I can replicate this failure? Thanks. and thanks for the patch. On Mon, Jan 8, 2024 at 9:11 PM Nicholas Vinson <nvinson...@gmail.com> wrote: > With default options ld.lld-16 and newer fails to link due to undefined > symbols listed in libddio.sym. Specifically: > > cdio_get_default_device_bsdi > cdio_get_devices_bsdi > cdio_have_bsdi > cdio_open_am_bsdi > cdio_open_bsdi > cdio_set_drive_speed > mmc_get_last_lsn > mmc_isrc_track_read_subchannel > > The definitions for the 5 *_bsdi symbols were removed with commit > 487136b3c6c80bbc772c56e6a388b12db55982f4. > > Neither the definition nor declaration appear in the git history for the > symbols cdio_set_drive_speed and mmc_get_last_lsn. > > The definition for was removed with commit > b427b174e664f632756bb1653fd2463592066fa3. > > Fixes Gentoo bug 915826 ( https://bugs.gentoo.org/915826 ). > > Signed-off-by: Nicholas Vinson <nvinson...@gmail.com> > --- > include/cdio/iso9660.h | 2 +- > lib/driver/libcdio.sym | 8 -------- > lib/iso9660/iso9660_fs.c | 2 ++ > 3 files changed, 3 insertions(+), 9 deletions(-) > > diff --git a/include/cdio/iso9660.h b/include/cdio/iso9660.h > index f5eb09e2..6bb99460 100644 > --- a/include/cdio/iso9660.h > +++ b/include/cdio/iso9660.h > @@ -910,8 +910,8 @@ iso9660_dir_calc_record_size (unsigned int namelen, > unsigned int su_len); > @return stat_t of entry if we found lsn, or NULL otherwise. > Caller must free return value using iso9660_stat_free(). > */ > -#define iso9660_fs_find_lsn iso9660_find_fs_lsn > iso9660_stat_t *iso9660_fs_find_lsn(CdIo_t *p_cdio, lsn_t i_lsn); > +iso9660_stat_t *iso9660_find_fs_lsn(CdIo_t *p_cdio, lsn_t i_lsn); > > > /*! > diff --git a/lib/driver/libcdio.sym b/lib/driver/libcdio.sym > index 9143ccf5..7d757af9 100644 > --- a/lib/driver/libcdio.sym > +++ b/lib/driver/libcdio.sym > @@ -48,7 +48,6 @@ cdio_get_cdtext > cdio_get_cdtext_raw > cdio_get_default_device > cdio_get_default_device_bincue > -cdio_get_default_device_bsdi > cdio_get_default_device_cdrdao > cdio_get_default_device_driver > cdio_get_default_device_freebsd > @@ -59,7 +58,6 @@ cdio_get_default_device_solaris > cdio_get_default_device_win32 > cdio_get_devices > cdio_get_devices_bincue > -cdio_get_devices_bsdi > cdio_get_devices_cdrdao > cdio_get_devices_freebsd > cdio_get_devices_linux > @@ -101,7 +99,6 @@ cdio_get_track_sec_count > cdio_guess_cd_type > cdio_have_atapi > cdio_have_bincue > -cdio_have_bsdi > cdio_have_cdrdao > cdio_have_driver > cdio_have_freebsd > @@ -135,7 +132,6 @@ cdio_msf_to_str > cdio_open > cdio_open_am > cdio_open_am_bincue > -cdio_open_am_bsdi > cdio_open_am_cd > cdio_open_am_cdrdao > cdio_open_am_freebsd > @@ -146,7 +142,6 @@ cdio_open_am_osx > cdio_open_am_solaris > cdio_open_am_win32 > cdio_open_bincue > -cdio_open_bsdi > cdio_open_cd > cdio_open_cdrdao > cdio_open_cue > @@ -171,7 +166,6 @@ cdio_read_sectors > cdio_realpath > cdio_set_arg > cdio_set_blocksize > -cdio_set_drive_speed > cdio_set_speed > cdio_stdio_destroy > cdio_stdio_new > @@ -224,7 +218,6 @@ mmc_get_drive_mmc_cap > mmc_get_dvd_struct_physical > mmc_get_event_status > mmc_get_hwinfo > -mmc_get_last_lsn > mmc_get_mcn > mmc_get_media_changed > mmc_get_track_isrc > @@ -236,7 +229,6 @@ mmc_is_disctype_cdrom > mmc_is_disctype_dvd > mmc_is_disctype_hd_dvd > mmc_is_disctype_overwritable > -mmc_isrc_track_read_subchannel > mmc_last_cmd_sense > mmc_mode_select_10 > mmc_mode_sense > diff --git a/lib/iso9660/iso9660_fs.c b/lib/iso9660/iso9660_fs.c > index f18a2a16..f6843aec 100644 > --- a/lib/iso9660/iso9660_fs.c > +++ b/lib/iso9660/iso9660_fs.c > @@ -1775,6 +1775,8 @@ iso9660_fs_find_lsn(CdIo_t *p_cdio, lsn_t i_lsn) > free(psz_full_filename); > return p_statbuf; > } > +iso9660_stat_t * > +iso9660_find_fs_lsn(CdIo_t *p_cdio, lsn_t i_lsn) __attribute__ ((alias > ("iso9660_fs_find_lsn"))); > > /*! > Given a directory pointer, find the filesystem entry that contains > -- > 2.43.0 > > >