about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-12-09 16:55:08 -0800
committerH.J. Lu <hjl.tools@gmail.com>2012-12-09 16:55:08 -0800
commitce8e9bec24e4b36507ce468d6d9e1be1652df98c (patch)
tree2a0f3c81347417d93e5c15b8e57001cb8b640f5e
parent56e7d3ad5c2f369349bf7def0d8875a50e2d275b (diff)
downloadglibc-hjl/pr14937.tar.gz
glibc-hjl/pr14937.tar.xz
glibc-hjl/pr14937.zip
Handle _nl_default_dirname with prefix changes hjl/pr14937
-rw-r--r--ChangeLog.pr1466443
-rw-r--r--Makerules2
-rw-r--r--ports/sysdeps/unix/sysv/linux/aarch64/nptl/libc.abilist2
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist2
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/nptl/libc.abilist2
-rw-r--r--ports/sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist2
-rw-r--r--ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist2
-rw-r--r--ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc.abilist2
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist2
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libc.abilist2
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libc.abilist2
-rw-r--r--ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist2
-rw-r--r--ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist2
-rw-r--r--ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist2
-rw-r--r--ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist2
-rw-r--r--scripts/abilist.awk10
-rw-r--r--sysdeps/unix/sysv/linux/i386/nptl/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/nptl/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/nptl/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/nptl/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/nptl/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/nptl/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/nptl/libc.abilist2
26 files changed, 76 insertions, 25 deletions
diff --git a/ChangeLog.pr14664 b/ChangeLog.pr14664
new file mode 100644
index 0000000000..0a86954fc4
--- /dev/null
+++ b/ChangeLog.pr14664
@@ -0,0 +1,43 @@
+2012-12-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #14664]
+	* Makerules (%.symlist): Pass installed_prefix='$(prefix)' to
+	scripts/abilist.awk.
+	* scripts/abilist.awk: Handle _nl_default_dirname which changes
+	with prefix changes.
+	* sysdeps/unix/sysv/linux/i386/nptl/libc.abilist: Replace
+	0x12 with "0xe + sizeof_prefix".
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/nptl/libc.abilist:
+	Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc.abilist:
+	Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-32/nptl/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-64/nptl/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/sh/nptl/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/64/nptl/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/x32/nptl/libc.abilist: Likewise.
+
+ports/
+
+2012-12-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #14664]
+	* sysdeps/unix/sysv/linux/aarch64/nptl/libc.abilist: Replace
+	0x12 with "0xe + sizeof_prefix".
+	* sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/arm/nptl/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist:
+	Likewise.
+	* sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist:
+	Likewise.
+	* sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist:
+	Likewise.
+	* sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist: Likewise.
diff --git a/Makerules b/Makerules
index 56dc60b11f..061bb2c576 100644
--- a/Makerules
+++ b/Makerules
@@ -1145,7 +1145,7 @@ ifeq ($(versioning),yes)
 # This is handy for checking against existing library binaries.
 
 %.symlist: $(..)scripts/abilist.awk %.dynsym
-	LC_ALL=C $(AWK) -f $^ > $@T
+	LC_ALL=C $(AWK) -v installed_prefix='$(prefix)' -f $^ > $@T
 	mv -f $@T $@
 
 %.dynsym: %.so
diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libc.abilist
index f83e8806a7..8a671a25c8 100644
--- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libc.abilist
+++ b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libc.abilist
@@ -529,7 +529,7 @@ GLIBC_2.17
  _libc_intl_domainname D 0x5
  _longjmp F
  _mcleanup F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x8
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0x18
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist
index 1d0cc7ec31..ed3ecf5527 100644
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist
+++ b/ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist
@@ -267,7 +267,7 @@ GLIBC_2.0
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x8
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0x18
diff --git a/ports/sysdeps/unix/sysv/linux/arm/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/arm/nptl/libc.abilist
index ceab6b2cd9..42d3472151 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/nptl/libc.abilist
+++ b/ports/sysdeps/unix/sysv/linux/arm/nptl/libc.abilist
@@ -601,7 +601,7 @@ GLIBC_2.4
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x4
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0xc
diff --git a/ports/sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist
index b3510fe2a2..b228bbf4b8 100644
--- a/ports/sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist
+++ b/ports/sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist
@@ -516,7 +516,7 @@ GLIBC_2.2
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x8
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0x18
diff --git a/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist
index 3c40379aac..5796b072bc 100644
--- a/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist
+++ b/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist
@@ -589,7 +589,7 @@ GLIBC_2.4
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x4
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0xc
diff --git a/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc.abilist
index f998b1b276..23175fc4fc 100644
--- a/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc.abilist
+++ b/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc.abilist
@@ -258,7 +258,7 @@ GLIBC_2.0
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x4
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0xc
diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist
index 7378869236..4ff44a971c 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist
+++ b/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist
@@ -255,7 +255,7 @@ GLIBC_2.0
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x4
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0xc
diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libc.abilist
index df2e63728a..942034613a 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libc.abilist
+++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libc.abilist
@@ -255,7 +255,7 @@ GLIBC_2.0
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x4
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0xc
diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libc.abilist
index 22b3068d8f..1fd70a60e6 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libc.abilist
+++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libc.abilist
@@ -253,7 +253,7 @@ GLIBC_2.0
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x8
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0x18
diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist
index 0efc6b55c4..7d4615dec9 100644
--- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist
+++ b/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist
@@ -268,7 +268,7 @@ GLIBC_2.0
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x4
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0xc
diff --git a/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist
index d79b2df55d..23bf1e5d0b 100644
--- a/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist
+++ b/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist
@@ -524,7 +524,7 @@ GLIBC_2.12
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x4
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0xc
diff --git a/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist
index f617405675..dadb645e7d 100644
--- a/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist
+++ b/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist
@@ -524,7 +524,7 @@ GLIBC_2.12
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x8
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0x18
diff --git a/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist
index d79b2df55d..23bf1e5d0b 100644
--- a/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist
+++ b/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist
@@ -524,7 +524,7 @@ GLIBC_2.12
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x4
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0xc
diff --git a/scripts/abilist.awk b/scripts/abilist.awk
index 6d58f6663b..e81d49a037 100644
--- a/scripts/abilist.awk
+++ b/scripts/abilist.awk
@@ -2,6 +2,7 @@
 # into a simple format that should not change when the ABI is not changing.
 
 BEGIN {
+  installed_prefix_length = length(installed_prefix);
   if (combine_fullname)
     combine = 1;
   if (combine)
@@ -43,6 +44,7 @@ $2 == "g" || $2 == "w" && (NF == 7 || NF == 8) {
   type = $3;
   size = $5;
   sub(/^0*/, "", size);
+  hex_size = "0x" size;
   size = " 0x" size;
   version = $6;
   symbol = $NF;
@@ -95,8 +97,14 @@ $2 == "g" || $2 == "w" && (NF == 7 || NF == 8) {
 
   # Disabled -- weakness should not matter to shared library ABIs any more.
   #if (weak == "w") type = tolower(type);
-  if (desc == "")
+  if (desc == "") {
+    # Handle _nl_default_dirname which changes with prefix changes
+    if (symbol == "_nl_default_dirname") {
+      size = strtonum(hex_size) - installed_prefix_length;
+      size = sprintf(" 0x%x + sizeof_prefix", size);
+    }
     desc = " " symbol " " type size;
+  }
 
   if (combine)
     version = soname " " version (combine_fullname ? " " sofullname : "");
diff --git a/sysdeps/unix/sysv/linux/i386/nptl/libc.abilist b/sysdeps/unix/sysv/linux/i386/nptl/libc.abilist
index 67d592959b..e07d39bde5 100644
--- a/sysdeps/unix/sysv/linux/i386/nptl/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/nptl/libc.abilist
@@ -258,7 +258,7 @@ GLIBC_2.0
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x4
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0xc
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/nptl/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/nptl/libc.abilist
index 8e4595825b..f0f2889850 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/nptl/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/nptl/libc.abilist
@@ -268,7 +268,7 @@ GLIBC_2.0
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x4
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0xc
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc.abilist
index 8eaaccdfc7..bf1a68a4b5 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc.abilist
@@ -512,7 +512,7 @@ GLIBC_2.3
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x8
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0x18
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/nptl/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/nptl/libc.abilist
index d9914ff53f..f551651c14 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/nptl/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/nptl/libc.abilist
@@ -258,7 +258,7 @@ GLIBC_2.0
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x4
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0xc
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/nptl/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/nptl/libc.abilist
index ef1ead3069..61ce8a8cbd 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/nptl/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/nptl/libc.abilist
@@ -518,7 +518,7 @@ GLIBC_2.2
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x8
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0x18
diff --git a/sysdeps/unix/sysv/linux/sh/nptl/libc.abilist b/sysdeps/unix/sysv/linux/sh/nptl/libc.abilist
index 733b550fee..e575e18ab2 100644
--- a/sysdeps/unix/sysv/linux/sh/nptl/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/nptl/libc.abilist
@@ -512,7 +512,7 @@ GLIBC_2.2
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x4
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0xc
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libc.abilist
index 3a96ea883b..cbb114550c 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libc.abilist
@@ -260,7 +260,7 @@ GLIBC_2.0
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x4
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0xc
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libc.abilist
index aa892b8b8b..6a9d72b2c8 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libc.abilist
@@ -554,7 +554,7 @@ GLIBC_2.2
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x8
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0x18
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/nptl/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/nptl/libc.abilist
index a42d424cde..0568b06922 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/nptl/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/nptl/libc.abilist
@@ -513,7 +513,7 @@ GLIBC_2.2.5
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x8
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0x18
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/nptl/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/nptl/libc.abilist
index 108b80fb43..8b8c45019d 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/nptl/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/nptl/libc.abilist
@@ -533,7 +533,7 @@ GLIBC_2.16
  _longjmp F
  _mcleanup F
  _mcount F
- _nl_default_dirname D 0x12
+ _nl_default_dirname D 0xe + sizeof_prefix
  _nl_domain_bindings D 0x4
  _nl_msg_cat_cntr D 0x4
  _null_auth D 0xc