glibc/hurd
Zack Weinberg 698fb75b9f Add __v*printf_internal with flags arguments
There are a lot more printf variants than there are scanf variants,
and the code for setting up and tearing down their custom FILE
variants around the call to __vf(w)printf is more complicated and
variable.  Therefore, I have added _internal versions of all the
v*printf variants, rather than introducing helper routines so that
they can all directly call __vf(w)printf_internal, as was done with
scanf.

As with the scanf changes, in this patch the _internal functions still
look at the environmental mode bits and all callers pass 0 for the
flags parameter.

Several of the affected public functions had _IO_ name aliases that
were not exported (but, in one case, appeared in libio.h anyway);
I was originally planning to leave them as aliases to avoid having
to touch internal callers, but it turns out ldbl_*_alias only work
for exported symbols, so they've all been removed instead.  It also
turns out there were hardly any internal callers.  _IO_vsprintf and
_IO_vfprintf *are* exported, so those two stick around.

Summary for the changes to each of the affected symbols:

  _IO_vfprintf, _IO_vsprintf:
    All internal calls removed, thus the internal declarations, as well
    as uses of libc_hidden_proto and libc_hidden_def, were also removed.
    The external symbol is now exposed via uses of ldbl_strong_alias
    to __vfprintf_internal and __vsprintf_internal, respectively.

  _IO_vasprintf, _IO_vdprintf, _IO_vsnprintf,
  _IO_vfwprintf, _IO_vswprintf,
  _IO_obstack_vprintf, _IO_obstack_printf:
    All internal calls removed, thus declaration in internal headers
    were also removed.  They were never exported, so there are no
    aliases tying them to the internal functions.  I.e.: entirely gone.

  __vsnprintf:
    Internal calls were always preceded by macros such as
      #define __vsnprintf _IO_vsnprintf, and
      #define __vsnprintf vsnprintf
    The macros were removed and their uses replaced with calls to the
    new internal function __vsnprintf_internal.  Since there were no
    internal calls, the internal declaration was also removed.  The
    external symbol is preserved with ldbl_weak_alias to ___vsnprintf.

  __vfwprintf:
    All internal calls converted into calls to __vfwprintf_internal,
    thus the internal declaration was removed.  The function is now a
    wrapper that calls __vfwprintf_internal.  The external symbol is
    preserved.

  __vswprintf:
    Similarly, but no external symbol.

  __vasprintf, __vdprintf, __vfprintf, __vsprintf:
    New internal wrappers.  Not exported.

  vasprintf, vdprintf, vfprintf, vsprintf, vsnprintf,
  vfwprintf, vswprintf,
  obstack_vprintf, obstack_printf:
    These functions used to be aliases to the respective _IO_* function,
    they are now aliases to their respective __* functions.

Tested for powerpc and powerpc64le.
2018-12-05 18:15:42 -02:00
..
hurd hurd: Fix spawni's user_link reallocation 2018-11-11 20:09:17 +01:00
alloc-fd.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
catch-exc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
catch-signal.c Revert parts of "hurd: Avoid more libc.so local PLTs" 2018-04-03 23:06:00 +02:00
compat-20.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ctty-input.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ctty-output.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Depend * Makefile (subdir-target-args): New variable. 2006-02-28 07:11:04 +00:00
dtable.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
exc2signal.c hurd: Avoid some libc.so PLTs 2018-04-02 22:08:55 +00:00
faultexc.defs
fchroot.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fcntl-internal.h hurd: Add missing fcntl-internal.h 2018-01-28 17:05:40 +01:00
fd-close.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fd-read.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fd-write.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fopenport.c Mechanically remove _IO_ name aliases for types and constants. 2018-02-21 14:11:05 -05:00
get-host.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getdport.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
geteuids.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getumask.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
hurd-raise.c hurd: Avoid more libc.so PLTs 2018-04-02 23:40:26 +00:00
hurd.h Separate out error_t definition 2018-03-04 17:27:58 +01:00
hurdauth.c hurd: Avoid some PLTs in libc and librt 2018-04-02 19:07:52 +00:00
hurdchdir.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
hurdexec.c hurd: Avoid some libc.so PLTs 2018-04-02 22:08:55 +00:00
hurdfault.c Revert parts of "hurd: Avoid more libc.so local PLTs" 2018-04-03 23:06:00 +02:00
hurdfault.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
hurdfchdir.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
hurdhost.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
hurdid.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
hurdinit.c hurd: Avoid some libc.so PLTs 2018-04-02 22:08:55 +00:00
hurdioctl.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
hurdkill.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
hurdlock.c hurd: Code style fixes 2018-03-20 03:00:39 +01:00
hurdlock.h hurd: Fix copyright years 2018-03-18 18:33:37 +01:00
hurdlookup.c hurd: Fix O_DIRECTORY | O_NOFOLLOW 2018-03-18 19:43:04 +01:00
hurdmalloc.c hurdmalloc: Run fork handler as late as possible [BZ #19431] 2016-09-22 01:45:48 +02:00
hurdmalloc.h hurdmalloc: Run fork handler as late as possible [BZ #19431] 2016-09-22 01:45:48 +02:00
hurdmsg.c hurd: Avoid some PLTs in libc and librt 2018-04-02 19:07:52 +00:00
hurdpid.c hurd: Reimplement libc locks using mach's gsync 2018-03-18 18:23:45 +01:00
hurdports.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
hurdprio.c hurd: Avoid some PLTs in libc and librt 2018-04-02 19:07:52 +00:00
hurdrlimit.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
hurdselect.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
hurdsig.c hurd: Fix race between calling RPC and handling a signal 2018-10-28 13:41:51 +01:00
hurdsock.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
hurdsocket.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
hurdstartup.c hurd: Replace threadvars with TLS 2018-03-17 23:29:57 +01:00
hurdstartup.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
intern-fd.c hurd: Avoid some libc.so PLTs 2018-04-02 22:08:55 +00:00
intr-msg.c hurd: return EIEIO instead of EIO 2018-10-29 18:57:13 +01:00
intr-rpc.defs Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
intr-rpc.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
longjmp-ts.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
lookup-at.c hurd: Implement faccessat without AT_EACCESS flag 2018-01-10 02:03:28 +01:00
lookup-retry.c hurd: Fix O_DIRECTORY | O_NOFOLLOW 2018-03-18 19:43:04 +01:00
Makefile hurd: Add pci RPC stubs 2018-10-31 22:43:44 +01:00
msgportdemux.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
new-fd.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Notes
openport.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
path-lookup.c hurd: Avoid some libc.so PLTs 2018-04-02 22:08:55 +00:00
pid2task.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
port2fd.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
port-cleanup.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ports-get.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ports-set.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
preempt-sig.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
privports.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
report-wait.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
set-host.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
setauth.c hurd: Reimplement libc locks using mach's gsync 2018-03-18 18:23:45 +01:00
seteuids.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
siginfo.c hurd: Avoid some PLTs in libc and librt 2018-04-02 19:07:52 +00:00
sigunwind.c hurd: Replace threadvars with TLS 2018-03-17 23:29:57 +01:00
stack_chk_fail_local.c hurd: fix build with -fstack-protector-strong 2017-08-27 22:10:17 +02:00
task2pid.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
thread-cancel.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
thread-self.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
trampoline.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Versions Hurd: export _hurd_port_move 2018-11-10 13:13:12 +00:00
vpprintf.c Add __v*printf_internal with flags arguments 2018-12-05 18:15:42 -02:00
xattr.c hurd: Avoid some PLTs in libc and librt 2018-04-02 19:07:52 +00:00