Mon May 2 20:09:48 2022 UTC ()
Follow FreeBSD revision <0e15d9fbeba4> and simplify #ifdef'ed code.

This change avoids redefining 'SHN_SUNW_IGNORE' if the symbol is already
present.


(jkoshy)
diff -r1.12 -r1.13 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c

cvs diff -r1.12 -r1.13 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c (expand / switch to unified diff)

--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c 2019/12/03 22:10:56 1.12
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c 2022/05/02 20:09:48 1.13
@@ -1668,31 +1668,28 @@ process_obj(dtrace_hdl_t *dtp, const cha @@ -1668,31 +1668,28 @@ process_obj(dtrace_hdl_t *dtp, const cha
1668 } 1668 }
1669#endif 1669#endif
1670 1670
1671 mod = 1; 1671 mod = 1;
1672 (void) elf_flagdata(data_tgt, ELF_C_SET, ELF_F_DIRTY); 1672 (void) elf_flagdata(data_tgt, ELF_C_SET, ELF_F_DIRTY);
1673 1673
1674 /* 1674 /*
1675 * This symbol may already have been marked to 1675 * This symbol may already have been marked to
1676 * be ignored by another relocation referencing 1676 * be ignored by another relocation referencing
1677 * the same symbol or if this object file has 1677 * the same symbol or if this object file has
1678 * already been processed by an earlier link 1678 * already been processed by an earlier link
1679 * invocation. 1679 * invocation.
1680 */ 1680 */
1681#ifndef illumos 1681 if (rsym.st_shndx != SHN_ABS) {
1682#define SHN_SUNW_IGNORE SHN_ABS 1682 rsym.st_shndx = SHN_ABS;
1683#endif 
1684 if (rsym.st_shndx != SHN_SUNW_IGNORE) { 
1685 rsym.st_shndx = SHN_SUNW_IGNORE; 
1686 (void) gelf_update_sym(data_sym, ndx, &rsym); 1683 (void) gelf_update_sym(data_sym, ndx, &rsym);
1687 } 1684 }
1688 } 1685 }
1689 } 1686 }
1690 1687
1691 if (mod && elf_update(elf, ELF_C_WRITE) == -1) 1688 if (mod && elf_update(elf, ELF_C_WRITE) == -1)
1692 goto err; 1689 goto err;
1693 1690
1694 (void) elf_end(elf); 1691 (void) elf_end(elf);
1695 (void) close(fd); 1692 (void) close(fd);
1696 1693
1697 while ((pair = bufs) != NULL) { 1694 while ((pair = bufs) != NULL) {
1698 bufs = pair->dlp_next; 1695 bufs = pair->dlp_next;