[Bug gas/29012] gas: .set should copy st_size only if src's st_size is unset

2022-04-04 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=29012

--- Comment #2 from cvs-commit at gcc dot gnu.org  ---
The master branch has been updated by Fangrui Song :

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=867b8c308a40e79f90db4051cafc273f00f881fb

commit 867b8c308a40e79f90db4051cafc273f00f881fb
Author: Fangrui Song 
Date:   Mon Apr 4 08:43:50 2022 -0700

gas: copy st_size only if unset

For
```
.size foo1, 1
foo1:

.set bar1, foo1
.size bar1, 2
.size bar2, 2
.set bar2, foo1

.set bar3, foo2
.size bar3, 2
.size bar4, 2
.set bar4, foo2

.size foo2, 1
foo2:
```

bar1's size is 2 while bar2, bar3, bar4's is 1. The behavior of bar1 makes
sense
(generally directives on the new symbol should win) and is relied upon by
glibc
stdio-common/errlist.c:

```
.hidden _sys_errlist_internal
.globl  _sys_errlist_internal
.type   _sys_errlist_internal, @object
.size   _sys_errlist_internal, 1072
_sys_errlist_internal:

.globl __GLIBC_2_1_sys_errlist
.set __GLIBC_2_1_sys_errlist, _sys_errlist_internal
.type __GLIBC_2_1_sys_errlist, %object
.size __GLIBC_2_1_sys_errlist, 125 * (64 / 8)

// glibc expects that .size __GLIBC_2_1_sys_errlist, 125 * (64 / 8) wins.
```

The behavior of bar2/bar3/bar4 seems brittle. To avoid the reordering of
the two
code blocks which will result in the bar3 situation, glibc compiles
errlist.c
with gcc -fno-toplevel-reorder (previously -fno-unit-at-a-time).

To fix the inconsistency and improve robustness, make bar2/bar3/bar4 match
bar1,
removing the directive order sensitivity.

There is a pity that `.size dest, 0` is indistinguishable from the case
where
dest is unset, but the compromise seems fine.

PR gas/29012
* config/obj-elf.c (elf_copy_symbol_attributes): don't copy if src's
size
  has been set.
* testsuite/gas/elf/elf.exp: New test.
* testsuite/gas/elf/size.d: New file.
* testsuite/gas/elf/size.s: Likewise.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug gas/29012] gas: .set should copy st_size only if src's st_size is unset

2022-04-04 Thread i at maskray dot me
https://sourceware.org/bugzilla/show_bug.cgi?id=29012

Fangrui Song  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|UNCONFIRMED |RESOLVED

--- Comment #3 from Fangrui Song  ---
Target milestone: 2.39

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug gprofng/28966] gprofng test failures on Fedora 35

2022-04-04 Thread vladimir.mezentsev at oracle dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=28966

Vladimir Mezentsev  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|NEW |RESOLVED

--- Comment #1 from Vladimir Mezentsev  
---
 I cannot reproduce this big.
Probably the build was configured without --enable-shared and
libgp-collector.so
was not built.
Now the build problem with or without --enable-shared is fixed.
I am closing this bug.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug gprofng/28982] gprofng: collectorAPI.h/libcollector.h/libfcollector.h shouldn't be installed

2022-04-04 Thread vladimir.mezentsev at oracle dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=28982

Vladimir Mezentsev  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |NOTABUG

--- Comment #1 from Vladimir Mezentsev  
---

We need to install these *.h files.
These files are API for the gprofng collector library.
We are preparing gprofng documentation on how to use this API.
Similar Oracle documentation is here:
https://docs.oracle.com/cd/E19205-01/820-4180/man3/libcollector.3.html

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug gprofng/29026] New: gprofng doesn't build with gcc 5.5

2022-04-04 Thread vladimir.mezentsev at oracle dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=29026

Bug ID: 29026
   Summary: gprofng doesn't build with gcc 5.5
   Product: binutils
   Version: 2.39 (HEAD)
Status: NEW
  Severity: normal
  Priority: P2
 Component: gprofng
  Assignee: vladimir.mezentsev at oracle dot com
  Reporter: vladimir.mezentsev at oracle dot com
  Target Milestone: ---

% gcc --version
gcc (GCC) 5.5.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I got:
QLParser.yy:267:82: error: invalid initialization of non-const reference of
type ??const Expression*&?? from an rvalue of type ??const Expression*??
QLParser.yy:334:72: error: invalid initialization of non-const reference of
type ??const Expression*&?? from an rvalue of type ??const Expression*??
QLParser.yy:362:82: error: invalid initialization of non-const reference of
type ??const Expression*&?? from an rvalue of type ??const Expression*??


The other gprofng problems:
 - gprofng/src/QLParser.tab.cc and gprofng/src/QLParser.tab.hh are checked in.
 - bison 3.3 was required. The default is 3.0.4 for OL8.

-- 
You are receiving this mail because:
You are on the CC list for the bug.