<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glibc.git, branch maskray/relr</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/'/>
<entry>
<title>elf: Support DT_RELR relative relocation format [BZ #27924]</title>
<updated>2022-03-09T01:17:05+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>maskray@google.com</email>
</author>
<published>2022-03-09T01:17:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=1c6cc29baf9a4c7129ab2e94b0d4022bfa4f3299'/>
<id>1c6cc29baf9a4c7129ab2e94b0d4022bfa4f3299</id>
<content type='text'>
PIE and shared objects usually have many relative relocations. In
2017/2018, SHT_RELR/DT_RELR was proposed on
https://groups.google.com/g/generic-abi/c/bX460iggiKg/m/GxjM0L-PBAAJ
("Proposal for a new section type SHT_RELR") and is a pre-standard. RELR
usually takes 3% or smaller space than R_*_RELATIVE relocations. The
virtual memory size of a mostly statically linked PIE is typically 5~10%
smaller.

This patch adds ELF_DYNAMIC_DO_RELR to ELF_DYNAMIC_RELOCATE.
ELF_DYNAMIC_DO_RELR is ordered before ELF_DYNAMIC_DO_REL[A] so that ifunc
resolvers that require relocated got entries have them relocated. This is
needed for ppc64 according to Alan Modra.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PIE and shared objects usually have many relative relocations. In
2017/2018, SHT_RELR/DT_RELR was proposed on
https://groups.google.com/g/generic-abi/c/bX460iggiKg/m/GxjM0L-PBAAJ
("Proposal for a new section type SHT_RELR") and is a pre-standard. RELR
usually takes 3% or smaller space than R_*_RELATIVE relocations. The
virtual memory size of a mostly statically linked PIE is typically 5~10%
smaller.

This patch adds ELF_DYNAMIC_DO_RELR to ELF_DYNAMIC_RELOCATE.
ELF_DYNAMIC_DO_RELR is ordered before ELF_DYNAMIC_DO_REL[A] so that ifunc
resolvers that require relocated got entries have them relocated. This is
needed for ppc64 according to Alan Modra.
</pre>
</div>
</content>
</entry>
<entry>
<title>libio: Ensure output buffer for wchars (bug #28828)</title>
<updated>2022-03-08T17:25:32+00:00</updated>
<author>
<name>José Bollo</name>
<email>jobol@nonadev.net</email>
</author>
<published>2022-03-08T08:58:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=edc696a73a7cb07b1aa68792a845a98d036ee7eb'/>
<id>edc696a73a7cb07b1aa68792a845a98d036ee7eb</id>
<content type='text'>
The _IO_wfile_overflow does not check if the write pointer for wide
data is valid before access, different than _IO_file_overflow.  This
leads to crash on some cases, as described by bug 28828.

The minimal sequence to produce the crash was:

  #include &lt;stdio.h&gt;
  #include &lt;wchar.h&gt;
  int main (int ac, char **av)
  {
    setvbuf (stdout, NULL, _IOLBF, 0);
    fgetwc (stdin);
    fputwc (10, stdout); /*CRASH HERE!*/
    return 0;
  }

The "fgetwc(stdin);" is necessary since it triggers the bug by setting
the flag _IO_CURRENTLY_PUTTING on stdout indirectly (file wfileops.c,
function _IO_wfile_underflow, line 213).

Signed-off-by: Jose Bollo &lt;jobol@nonadev.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The _IO_wfile_overflow does not check if the write pointer for wide
data is valid before access, different than _IO_file_overflow.  This
leads to crash on some cases, as described by bug 28828.

The minimal sequence to produce the crash was:

  #include &lt;stdio.h&gt;
  #include &lt;wchar.h&gt;
  int main (int ac, char **av)
  {
    setvbuf (stdout, NULL, _IOLBF, 0);
    fgetwc (stdin);
    fputwc (10, stdout); /*CRASH HERE!*/
    return 0;
  }

The "fgetwc(stdin);" is necessary since it triggers the bug by setting
the flag _IO_CURRENTLY_PUTTING on stdout indirectly (file wfileops.c,
function _IO_wfile_underflow, line 213).

Signed-off-by: Jose Bollo &lt;jobol@nonadev.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>inet: Return EAI_MEMORY when nrl_domainname() fails to allocate memory</title>
<updated>2022-03-08T15:51:29+00:00</updated>
<author>
<name>Adhemerval Zanella</name>
<email>adhemerval.zanella@linaro.org</email>
</author>
<published>2021-11-10T18:32:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=2da6e439164c54bac4d5fd1320e32f8e16c1a6be'/>
<id>2da6e439164c54bac4d5fd1320e32f8e16c1a6be</id>
<content type='text'>
It aligns NI_NOFQDN with default behavior for getnameinfo().

Checked on x86_64-linux-gnu.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It aligns NI_NOFQDN with default behavior for getnameinfo().

Checked on x86_64-linux-gnu.
</pre>
</div>
</content>
</entry>
<entry>
<title>inet: Remove strdupa from nrl_domainname()</title>
<updated>2022-03-08T15:51:29+00:00</updated>
<author>
<name>Adhemerval Zanella</name>
<email>adhemerval.zanella@linaro.org</email>
</author>
<published>2021-11-10T18:26:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=b3c68b10afddf160c09c6862341b7fcfcaac901c'/>
<id>b3c68b10afddf160c09c6862341b7fcfcaac901c</id>
<content type='text'>
We can use the already in place scratch_buffer.

Checked on x86_64-linux-gnu.

Reviewed-by: DJ Delorie &lt;dj@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We can use the already in place scratch_buffer.

Checked on x86_64-linux-gnu.

Reviewed-by: DJ Delorie &lt;dj@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>inet: Fix getnameinfo (NI_NOFQDN) race condition (BZ#28566)</title>
<updated>2022-03-08T15:51:29+00:00</updated>
<author>
<name>Adhemerval Zanella</name>
<email>adhemerval.zanella@linaro.org</email>
</author>
<published>2021-11-10T17:40:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=c54d689269c7f10e7f7d28b1cb5b3a6a0dd5a889'/>
<id>c54d689269c7f10e7f7d28b1cb5b3a6a0dd5a889</id>
<content type='text'>
The 'not_first' is accessed on nrl_domainname() in a non atomically
way, although it is only updated after the lock is taken.

This patch fix the double-checked locking by using acquire-release
atomic operation instead of plain load and by moving the 'not_first'
store only after 'domain' is actually set.

Checked on x86_64-linux-gnu.

Reviewed-by: DJ Delorie &lt;dj@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The 'not_first' is accessed on nrl_domainname() in a non atomically
way, although it is only updated after the lock is taken.

This patch fix the double-checked locking by using acquire-release
atomic operation instead of plain load and by moving the 'not_first'
store only after 'domain' is actually set.

Checked on x86_64-linux-gnu.

Reviewed-by: DJ Delorie &lt;dj@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>benchtests: make compare_strings.py accept string as attribute value</title>
<updated>2022-03-08T14:12:52+00:00</updated>
<author>
<name>Su Lifan</name>
<email>su-lifan@linux.alibaba.com</email>
</author>
<published>2022-02-25T08:58:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=edddffc9df5ea5882192bca7ddaad8f6440bcc44'/>
<id>edddffc9df5ea5882192bca7ddaad8f6440bcc44</id>
<content type='text'>
Commit ac759b1fbf28a82d99afde9046f8b72c7cba5dae added attribute
"overlap" to bench-memmove-walk, whose value is a string. This change
makes compare_strings.py fail since benchout_strings.schema.json
requires the values of attributes to be number.

This patch relaxes such constraint.
Reviewed-by: Siddhesh Poyarekar &lt;siddhesh@sourceware.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit ac759b1fbf28a82d99afde9046f8b72c7cba5dae added attribute
"overlap" to bench-memmove-walk, whose value is a string. This change
makes compare_strings.py fail since benchout_strings.schema.json
requires the values of attributes to be number.

This patch relaxes such constraint.
Reviewed-by: Siddhesh Poyarekar &lt;siddhesh@sourceware.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86_64: Fix svml_d_tanh8_core_avx512.S code formatting</title>
<updated>2022-03-08T05:44:09+00:00</updated>
<author>
<name>Sunil K Pandey</name>
<email>skpgkp2@gmail.com</email>
</author>
<published>2022-03-07T18:47:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=6de743a4e31a94e3d022e64a90c9082290a5a573'/>
<id>6de743a4e31a94e3d022e64a90c9082290a5a573</id>
<content type='text'>
This commit contains following formatting changes

1. Instructions proceeded by a tab.
2. Instruction less than 8 characters in length have a tab
   between it and the first operand.
3. Instruction greater than 7 characters in length have a
   space between it and the first operand.
4. Tabs after `#define`d names and their value.
5. 8 space at the beginning of line replaced by tab.
6. Indent comments with code.
7. Remove redundent .text section.
8. 1 space between line content and line comment.
9. Space after all commas.

Reviewed-by: Noah Goldstein &lt;goldstein.w.n@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit contains following formatting changes

1. Instructions proceeded by a tab.
2. Instruction less than 8 characters in length have a tab
   between it and the first operand.
3. Instruction greater than 7 characters in length have a
   space between it and the first operand.
4. Tabs after `#define`d names and their value.
5. 8 space at the beginning of line replaced by tab.
6. Indent comments with code.
7. Remove redundent .text section.
8. 1 space between line content and line comment.
9. Space after all commas.

Reviewed-by: Noah Goldstein &lt;goldstein.w.n@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86_64: Fix svml_d_tanh4_core_avx2.S code formatting</title>
<updated>2022-03-08T05:44:09+00:00</updated>
<author>
<name>Sunil K Pandey</name>
<email>skpgkp2@gmail.com</email>
</author>
<published>2022-03-07T18:47:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=28ba5ee77fa61eb951736ec751e1921d4580aa2a'/>
<id>28ba5ee77fa61eb951736ec751e1921d4580aa2a</id>
<content type='text'>
This commit contains following formatting changes

1. Instructions proceeded by a tab.
2. Instruction less than 8 characters in length have a tab
   between it and the first operand.
3. Instruction greater than 7 characters in length have a
   space between it and the first operand.
4. Tabs after `#define`d names and their value.
5. 8 space at the beginning of line replaced by tab.
6. Indent comments with code.
7. Remove redundent .text section.
8. 1 space between line content and line comment.
9. Space after all commas.

Reviewed-by: Noah Goldstein &lt;goldstein.w.n@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit contains following formatting changes

1. Instructions proceeded by a tab.
2. Instruction less than 8 characters in length have a tab
   between it and the first operand.
3. Instruction greater than 7 characters in length have a
   space between it and the first operand.
4. Tabs after `#define`d names and their value.
5. 8 space at the beginning of line replaced by tab.
6. Indent comments with code.
7. Remove redundent .text section.
8. 1 space between line content and line comment.
9. Space after all commas.

Reviewed-by: Noah Goldstein &lt;goldstein.w.n@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86_64: Fix svml_d_tanh2_core_sse4.S code formatting</title>
<updated>2022-03-08T05:44:09+00:00</updated>
<author>
<name>Sunil K Pandey</name>
<email>skpgkp2@gmail.com</email>
</author>
<published>2022-03-07T18:47:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=06c7208f27b8c44f115ae357a97a7bbc7085497a'/>
<id>06c7208f27b8c44f115ae357a97a7bbc7085497a</id>
<content type='text'>
This commit contains following formatting changes

1. Instructions proceeded by a tab.
2. Instruction less than 8 characters in length have a tab
   between it and the first operand.
3. Instruction greater than 7 characters in length have a
   space between it and the first operand.
4. Tabs after `#define`d names and their value.
5. 8 space at the beginning of line replaced by tab.
6. Indent comments with code.
7. Remove redundent .text section.
8. 1 space between line content and line comment.
9. Space after all commas.

Reviewed-by: Noah Goldstein &lt;goldstein.w.n@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit contains following formatting changes

1. Instructions proceeded by a tab.
2. Instruction less than 8 characters in length have a tab
   between it and the first operand.
3. Instruction greater than 7 characters in length have a
   space between it and the first operand.
4. Tabs after `#define`d names and their value.
5. 8 space at the beginning of line replaced by tab.
6. Indent comments with code.
7. Remove redundent .text section.
8. 1 space between line content and line comment.
9. Space after all commas.

Reviewed-by: Noah Goldstein &lt;goldstein.w.n@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86_64: Fix svml_s_tanhf8_core_avx2.S code formatting</title>
<updated>2022-03-08T05:44:09+00:00</updated>
<author>
<name>Sunil K Pandey</name>
<email>skpgkp2@gmail.com</email>
</author>
<published>2022-03-07T18:47:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=2c632117bf4c888e3210cbd935213be1ac4aa85f'/>
<id>2c632117bf4c888e3210cbd935213be1ac4aa85f</id>
<content type='text'>
This commit contains following formatting changes

1. Instructions proceeded by a tab.
2. Instruction less than 8 characters in length have a tab
   between it and the first operand.
3. Instruction greater than 7 characters in length have a
   space between it and the first operand.
4. Tabs after `#define`d names and their value.
5. 8 space at the beginning of line replaced by tab.
6. Indent comments with code.
7. Remove redundent .text section.
8. 1 space between line content and line comment.
9. Space after all commas.

Reviewed-by: Noah Goldstein &lt;goldstein.w.n@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit contains following formatting changes

1. Instructions proceeded by a tab.
2. Instruction less than 8 characters in length have a tab
   between it and the first operand.
3. Instruction greater than 7 characters in length have a
   space between it and the first operand.
4. Tabs after `#define`d names and their value.
5. 8 space at the beginning of line replaced by tab.
6. Indent comments with code.
7. Remove redundent .text section.
8. 1 space between line content and line comment.
9. Space after all commas.

Reviewed-by: Noah Goldstein &lt;goldstein.w.n@gmail.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
