Created attachment 14183 [details] huge list of errors This is with the latest trunk as of: 7006c5f3c49b92f066a8f415e87b35a5c2afd32c $ abidw --abidiff /usr/lib64/libbfd-2.37-27.fc36.so from binutils-2.37-27.fc36.x86_64 There are many errors and so I just attached a file with them. This was not a problem in 2.0.
Other binaries have very similar problems which I think are likely related: /usr/bin/gimp-2.10 from gimp-2.10.30-1.fc36.1.x86_64 $ abidw --abidiff /usr/bin/gimp-2.10 Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 161 functions with some indirect sub-type change: [C] 'function gboolean gimp_image_add_channel(GimpImage*, GimpChannel*, GimpChannel*, gint, gboolean)' at gimpimage.c:4880:1 has some indirect sub-type changes: parameter 1 of type 'GimpImage*' has sub-type changes: in pointed to type 'typedef GimpImage' at core-types.h:90:1: underlying type 'struct _GimpImage' at gimpimage.h:39:1 changed: type size hasn't changed 2 data member changes: type of 'Gimp* gimp' changed: in pointed to type 'typedef Gimp' at core-types.h:89:1: underlying type 'struct _Gimp' at gimp.h:35:1 changed: type size hasn't changed 3 data member changes: type of 'GimpImage* clipboard_image' changed: in pointed to type 'typedef GimpImage' at core-types.h:90:1: underlying type 'struct _GimpImage' changed, as being reported type of 'GimpContext* default_context' changed: in pointed to type 'typedef GimpContext' at core-types.h:114:1: underlying type 'struct _GimpContext' at gimpcontext.h:47:1 changed: type size hasn't changed 3 data member changes: type of 'Gimp* gimp' changed: in pointed to type 'typedef Gimp' at core-types.h:89:1: underlying type 'struct _Gimp' changed, as being reported type of 'GimpContext* parent' changed: in pointed to type 'typedef GimpContext' at core-types.h:114:1: underlying type 'struct _GimpContext' changed, as being reported type of 'GimpImage* image' changed: in pointed to type 'typedef GimpImage' at core-types.h:90:1: underlying type 'struct _GimpImage' changed, as being reported type of 'GimpContext* user_context' changed: pointed to type 'typedef GimpContext' changed at core-types.h:114:1, as reported earlier type of 'GimpImagePrivate* priv' changed: in pointed to type 'typedef GimpImagePrivate' at gimpimage.h:37:1: underlying type 'struct _GimpImagePrivate' at gimpimage-private.h:33:1 changed: type size hasn't changed 3 data member changes: type of 'GimpSymmetry* active_symmetry' changed: in pointed to type 'typedef GimpSymmetry' at core-types.h:176:1: underlying type 'struct _GimpSymmetry' at gimpsymmetry.h:42:1 changed: type size hasn't changed 1 data member change: type of 'GimpImage* image' changed: in pointed to type 'typedef GimpImage' at core-types.h:90:1: underlying type 'struct _GimpImage' changed, as being reported type of 'GimpUndoStack* undo_stack' changed: in pointed to type 'typedef GimpUndoStack' at core-types.h:170:1: underlying type 'struct _GimpUndoStack' at gimpundostack.h:35:1 changed: type size hasn't changed 1 data member change: type of 'GimpUndo parent_instance' changed: underlying type 'struct _GimpUndo' at gimpundo.h:52:1 changed: type size hasn't changed 1 data member change: type of 'GimpImage* image' changed: in pointed to type 'typedef GimpImage' at core-types.h:90:1: underlying type 'struct _GimpImage' changed, as being reported type of 'GimpUndoStack* redo_stack' changed: pointed to type 'typedef GimpUndoStack' changed at core-types.h:170:1, as reported earlier [C] 'function void gimp_image_add_colormap_entry(GimpImage*, const GimpRGB*)' at gimpimage-colormap.c:303:1 has some indirect sub-type changes: parameter 1 of type 'GimpImage*' has sub-type changes: in pointed to type 'typedef GimpImage' at core-types.h:90:1: underlying type 'struct _GimpImage' at gimpimage.h:39:1 changed: type size hasn't changed 1 data member change: type of 'Gimp* gimp' changed: in pointed to type 'typedef Gimp' at core-types.h:89:1: underlying type 'struct _Gimp' at gimp.h:35:1 changed: type size hasn't changed 1 data member change: type of 'GimpImage* clipboard_image' changed: in pointed to type 'typedef GimpImage' at core-types.h:90:1: underlying type 'struct _GimpImage' changed, as being reported <snip>
from: infinipath-psm-3.3-26_g604758e_open.6.fc36.5.x86_64 $ abidw --abidiff /usr/lib64/libpsm_infinipath.so.1.1 Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 53 functions with some indirect sub-type change: [C] 'function psm_error_t __psm_am_register_handlers(psm_ep_t, const psm_am_handler_fn_t*, int, int*)' at psm_am.c:72:1 has some indirect sub-type changes: Please note that the symbol of this function is __psm_am_register_handlers and it aliases symbol: psm_am_register_handlers parameter 2 of type 'const psm_am_handler_fn_t*' has sub-type changes: in pointed to type 'const psm_am_handler_fn_t': in unqualified underlying type 'typedef psm_am_handler_fn_t' at psm_am.h:102:1: underlying type 'int (typedef psm_am_token_t, typedef psm_epaddr_t, psm_amarg_t*, int, void*, typedef uint32_t)*' changed: in pointed to type 'function type int (typedef psm_am_token_t, typedef psm_epaddr_t, psm_amarg_t*, int, void*, typedef uint32_t)': parameter 2 of type 'typedef psm_epaddr_t' has sub-type changes: underlying type 'psm_epaddr*' changed: in pointed to type 'struct psm_epaddr' at psm_ep.h:195:1: type size hasn't changed 8 data member changes: type of 'ptl_ctl_t* ptlctl' changed: in pointed to type 'typedef ptl_ctl_t' at ptl.h:64:1: underlying type 'struct ptl_ctl' at ptl.h:115:1 changed: type size hasn't changed 5 data member changes: type of 'typedef psm_error_t (typedef psm_mq_t, typedef psm_epaddr_t, typedef uint32_t, typedef uint64_t, void*, typedef uint32_t)* mq_send' changed: in pointed to type 'function type typedef psm_error_t (typedef psm_mq_t, typedef psm_epaddr_t, typedef uint32_t, typedef uint64_t, void*, typedef uint32_t)': parameter 1 of type 'typedef psm_mq_t' has sub-type changes: underlying type 'psm_mq*' changed: in pointed to type 'struct psm_mq' at psm_mq_internal.h:69:1: type size hasn't changed 3 data member changes: type of 'mqsq expected_q' changed: type size hasn't changed 2 data member changes: type of 'psm_mq_req_t first' changed: underlying type 'psm_mq_req*' changed: in pointed to type 'struct psm_mq_req' at psm_mq_internal.h:159:1: type size hasn't changed 7 data member changes: type of 'anonymous data member struct {psm_mq_req_t next; psm_mq_req_t* pprev;}' changed: type size hasn't changed 2 data member changes: type of 'psm_mq_req_t next' changed: underlying type 'psm_mq_req*' changed: pointed to type 'struct psm_mq_req' changed, as being reported type of 'psm_mq_req_t* pprev' changed: pointed to type 'typedef psm_mq_req_t' changed at psm_mq.h:149:1, as reported earlier type of 'psm_mq_t mq' changed: underlying type 'psm_mq*' changed: pointed to type 'struct psm_mq' changed, as being reported type of 'mq_testwait_callback_fn_t testwait_callback' changed: underlying type 'typedef psm_error_t (psm_mq_req_t*, int, psm_mq_status_t*)*' changed: in pointed to type 'function type typedef psm_error_t (psm_mq_req_t*, int, psm_mq_status_t*)': parameter 1 of type 'psm_mq_req_t*' has sub-type changes: pointed to type 'typedef psm_mq_req_t' changed at psm_mq.h:149:1, as reported earlier type of 'struct {psm_mq_req* stqe_next;} nextq' changed: type size hasn't changed 1 data member change: type of 'psm_mq_req* stqe_next' changed: pointed to type 'struct psm_mq_req' changed, as being reported type of 'psm_epaddr_t epaddr' changed: underlying type 'psm_epaddr*' changed: pointed to type 'struct psm_epaddr' changed, as being reported type of 'mq_rts_callback_fn_t rts_callback' changed: underlying type 'typedef psm_error_t (typedef psm_mq_req_t, int)*' changed: in pointed to type 'function type typedef psm_error_t (typedef psm_mq_req_t, int)': parameter 1 of type 'typedef psm_mq_req_t' has sub-type changes: underlying type 'psm_mq_req*' changed: pointed to type 'struct psm_mq_req' changed, as being reported type of 'psm_epaddr_t rts_peer' changed, as reported earlier type of 'psm_mq_req_t* lastp' changed: pointed to type 'typedef psm_mq_req_t' changed at psm_mq.h:149:1, as reported earlier type of 'mqsq unexpected_q' changed, as reported earlier type of 'mqq completed_q' changed: type size hasn't changed 2 data member changes: type of 'psm_mq_req_t first' changed, as reported earlier type of 'psm_mq_req_t* lastp' changed: pointed to type 'typedef psm_mq_req_t' changed at psm_mq.h:149:1, as reported earlier parameter 2 of type 'typedef psm_epaddr_t' has sub-type changes: underlying type 'psm_epaddr*' changed: pointed to type 'struct psm_epaddr' changed, as being reported type of 'typedef psm_error_t (typedef psm_mq_t, typedef psm_epaddr_t, typedef uint32_t, typedef uint64_t, void*, typedef uint32_t, void*, psm_mq_req_t*)* mq_isend' changed: in pointed to type 'function type typedef psm_error_t (typedef psm_mq_t, typedef psm_epaddr_t, typedef uint32_t, typedef uint64_t, void*, typedef uint32_t, void*, psm_mq_req_t*)': <snip>
from: libXt-1.2.1-2.fc36.x86_64 /usr/lib64/libXt.so.6.0.0 Functions changes summary: 0 Removed, 66 Changed, 0 Added functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 66 functions with some indirect sub-type change: [C] 'function XtActionHookId XtAppAddActionHook(XtAppContext, XtActionHookProc, XtPointer)' at ActionHook.c:93:1 has some indirect sub-type changes: parameter 1 of type 'typedef XtAppContext' has sub-type changes: underlying type '_XtAppStruct*' changed: in pointed to type 'struct _XtAppStruct' at InitialI.h:151:1: type size hasn't changed 14 data member changes: type of 'XtAppContext next' changed: underlying type '_XtAppStruct*' changed: pointed to type 'struct _XtAppStruct' changed, as being reported type of 'ProcessContext process' changed: underlying type '_ProcessContextRec*' changed: in pointed to type 'struct _ProcessContextRec' at InitialI.h:135:1: type size hasn't changed 2 data member changes: type of 'XtAppContext defaultAppContext' changed, as reported earlier type of 'XtAppContext appContextList' changed, as reported earlier type of 'TimerEventRec* timerQueue' changed: in pointed to type 'typedef TimerEventRec' at InitialI.h:92:1: underlying type 'struct _TimerEventRec' at InitialI.h:86:1 changed: type size hasn't changed 2 data member changes: type of '_TimerEventRec* te_next' changed: pointed to type 'struct _TimerEventRec' changed, as being reported type of 'XtAppContext app' changed, as reported earlier type of 'WorkProcRec* workQueue' changed: in pointed to type 'typedef WorkProcRec' at InitialI.h:117:1: underlying type 'struct _WorkProcRec' at InitialI.h:112:1 changed: type size hasn't changed 2 data member changes: type of '_WorkProcRec* next' changed: pointed to type 'struct _WorkProcRec' changed, as being reported type of 'XtAppContext app' changed, as reported earlier type of 'InputEvent** input_list' changed: in pointed to type 'InputEvent*': in pointed to type 'typedef InputEvent' at InitialI.h:102:1: underlying type 'struct _InputEvent' at InitialI.h:94:1 changed: type size hasn't changed 3 data member changes: type of '_InputEvent* ie_next' changed: pointed to type 'struct _InputEvent' changed, as being reported type of '_InputEvent* ie_oq' changed: pointed to type 'struct _InputEvent' changed, as being reported type of 'XtAppContext app' changed, as reported earlier type of 'InputEvent* outstandingQueue' changed: pointed to type 'typedef InputEvent' changed at InitialI.h:102:1, as reported earlier type of 'SignalEventRec* signalQueue' changed: in pointed to type 'typedef SignalEventRec' at InitialI.h:110:1: underlying type 'struct _SignalEventRec' at InitialI.h:104:1 changed: type size hasn't changed 2 data member changes: type of '_SignalEventRec* se_next' changed: pointed to type 'struct _SignalEventRec' changed, as being reported type of 'XtAppContext app' changed, as reported earlier type of '_ActionHookRec* action_hook_list' changed: in pointed to type 'struct _ActionHookRec' at TranslateI.h:292:1: type size hasn't changed 2 data member changes: type of '_ActionHookRec* next' changed: pointed to type 'struct _ActionHookRec' changed, as being reported type of 'XtAppContext app' changed, as reported earlier type of '_BlockHookRec* block_hook_list' changed: in pointed to type 'struct _BlockHookRec' at EventI.h:87:1: type size hasn't changed 2 data member changes: type of '_BlockHookRec* next' changed: pointed to type 'struct _BlockHookRec' changed, as being reported type of 'XtAppContext app' changed, as reported earlier type of 'ThreadAppProc lock' changed: underlying type 'void (typedef XtAppContext)*' changed: in pointed to type 'function type void (typedef XtAppContext)': parameter 1 of type 'typedef XtAppContext' has sub-type changes: underlying type '_XtAppStruct*' changed: pointed to type 'struct _XtAppStruct' changed, as being reported type of 'ThreadAppProc unlock' changed, as reported earlier type of 'ThreadAppYieldLockProc yield_lock' changed: underlying type 'void (typedef XtAppContext, Boolean*, Boolean*, int*)*' changed: in pointed to type 'function type void (typedef XtAppContext, Boolean*, Boolean*, int*)': parameter 1 of type 'typedef XtAppContext' has sub-type changes: underlying type '_XtAppStruct*' changed: pointed to type 'struct _XtAppStruct' changed, as being reported type of 'ThreadAppRestoreLockProc restore_lock' changed: underlying type 'void (typedef XtAppContext, int, Boolean*)*' changed: in pointed to type 'function type void (typedef XtAppContext, int, Boolean*)': parameter 1 of type 'typedef XtAppContext' has sub-type changes: underlying type '_XtAppStruct*' changed: pointed to type 'struct _XtAppStruct' changed, as being reported type of 'ThreadAppProc free_lock' changed, as reported earlier
openmpi-4.1.2-3.fc36.i686.rpm ======== comparing'libmpi.so.40.30.2' to itself wrongly yielded result: =========== Functions changes summary: 0 Removed, 0 Changed (92 filtered out), 0 Added functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable abidw --abidiff /lib64/openmpi/lib/libmpi.so.40.30.2 [C] 'function int PMPI_Cart_create(MPI_Comm, int, const int*, const int*, int, MPI_Comm*)' at pcart_create.c:45:1 has some indirect sub-type changes: Please note that the symbol of this function is PMPI_Cart_create and it aliases symbol: MPI_Cart_create parameter 6 of type 'MPI_Comm*' changed: in pointed to type 'typedef MPI_Comm' at mpi.h:419:1: <snip>
From: zfs-fuse-0.7.2.2-21.fc36.x86_64.rpm and zfs-fuse-0.7.2.2-21.fc36.x86_64.rpm: ======== comparing'zfs-fuse' to itself wrongly yielded result: =========== Functions changes summary: 0 Removed, 0 Changed, 0 Added function Variables changes summary: 0 Removed, 0 Changed (6 filtered out), 0 Added variables ===SELF CHECK FAILED for 'zfs-fuse' $ abidw /usr/sbin/zfs-fuse > foo $ abidiff --harmless /usr/sbin/zfs-fuse foo Functions changes summary: 0 Removed, 0 Changed, 0 Added function Variables changes summary: 0 Removed, 6 Changed, 0 Added variables 6 Changed variables: [C] 'vnodeops_t* zfs_dvnodeops' was changed to 'vnodeops* zfs_dvnodeops' at zfs_znode.c:385:1: type of variable changed: in pointed to type 'typedef vnodeops_t' at vnode.h:544:1: entity changed from 'typedef vnodeops_t' to compatible type 'struct vnodeops' at vnode.h:544:1 [C] 'vnodeops_t* zfs_evnodeops' was changed to 'vnodeops* zfs_evnodeops' at zfs_znode.c:389:1: type of variable changed: in pointed to type 'typedef vnodeops_t' at vnode.h:544:1: entity changed from 'typedef vnodeops_t' to compatible type 'struct vnodeops' at vnode.h:544:1 [C] 'vnodeops_t* zfs_fvnodeops' was changed to 'vnodeops* zfs_fvnodeops' at zfs_znode.c:386:1: type of variable changed: in pointed to type 'typedef vnodeops_t' at vnode.h:544:1: entity changed from 'typedef vnodeops_t' to compatible type 'struct vnodeops' at vnode.h:544:1 [C] 'vnodeops_t* zfs_sharevnodeops' was changed to 'vnodeops* zfs_sharevnodeops' at zfs_znode.c:390:1: type of variable changed: in pointed to type 'typedef vnodeops_t' at vnode.h:544:1: entity changed from 'typedef vnodeops_t' to compatible type 'struct vnodeops' at vnode.h:544:1 [C] 'vnodeops_t* zfs_symvnodeops' was changed to 'vnodeops* zfs_symvnodeops' at zfs_znode.c:387:1: type of variable changed: in pointed to type 'typedef vnodeops_t' at vnode.h:544:1: entity changed from 'typedef vnodeops_t' to compatible type 'struct vnodeops' at vnode.h:544:1 [C] 'vnodeops_t* zfs_xdvnodeops' was changed to 'vnodeops* zfs_xdvnodeops' at zfs_znode.c:388:1: type of variable changed: in pointed to type 'typedef vnodeops_t' at vnode.h:544:1: entity changed from 'typedef vnodeops_t' to compatible type 'struct vnodeops' at vnode.h:544:1
summary list of binaries and packages which have what appears to be the same problem: /usr/lib64/libbfd-2.37-27.fc36.so binutils-2.37-27.fc36.x86_64 /usr/bin/gimp-2.10 gimp-2.10.30-1.fc36.1.x86_64 /usr/lib64/libpsm_infinipath.so.1.1 infinipath-psm-3.3-26_g604758e_open.6.fc36.5.x86_64 /usr/lib64/libXt.so.6.0.0 libXt-1.2.1-2.fc36.x86_64 /lib64/openmpi/lib/libmpi.so.40.30.2 openmpi-4.1.2-3.fc36.i686.rpm /usr/sbin/zfs-fuse zfs-fuse-0.7.2.2-21.fc36.x86_64.rpm
This continues to appear with the latest trunk as of 4cf16bdb dwarf-reader,ir: Don't canonicalize enums too early & too naively
This continues to happen with trunk up through df28c220976f41620b0bd7b22000815e11f66b75
gimp seems to pass now it must have been one of the other recently fixed bugs.
infinipath-psm, libXt, openmpi, and zfs-fuse continue to manifest the problem. Also crash has popped up in the most recent round of tests and it kind of looks related.
This appears to be fixed as of 2.1
Fixed in 2.1