I assume $f, g_1, g_2$ take values in the positive reals. If so, consider instead the functional equation
$$f(x_1 + x_2) = g_1(x_1) + g_2(x_2)$$
where $f, g_1, g_2$ are functions from the reals to the reals. I claim that studying this functional equation is equivalent to studying the previous one; given any solution $f, g_1, g_2$ to this functional equation, the triple
$$e^{f(\log x)}, e^{g_1(\log x)}, e^{g_2(\log x)}$$
is a solution to the previous functional equation, and conversely.
In the special case that $f = g_1 = g_2$, this functional equation is known as the Cauchy functional equation
$$f(x + y) = f(x) + f(y).$$
The Cauchy functional equation is well-known to have "exotic" solutions besides the obvious solutions $f(x) = rx$; every solution comes from taking a Hamel basis of $\mathbb{R}$ as a vector space over $\mathbb{Q}$ (which exists conditional on the axiom of choice) and letting $f$ act arbitrarily on this basis.
In general, note that the space of solutions is a real vector space, and moreover it contains families of constant solutions $c = d + (d-c)$. By replacing $(f, g_1, g_2)$ with $(f - f(0), g_1 - g(0), g_2 - g(0))$, we may assume WLOG that $f(0) = g_1(0) = g_2(0) = 0$. Then
$$g_1(x) = f(x + 0) = f(x) = f(0 + x) = g_2(x)$$
so we reduce to the Cauchy functional equation.